mysql数据库索引

mysql数据库索引

1.概念

索引类似于书的目录,可以更快的找到指定内容的位置。

在mysql中常见索引有两种:

  • InnoDB(默认) :事务优先 (适合高并发操作;行锁)
  • MyISAM :性能优先 (表锁)

2.操作

2.1创建表时指定数据库对象的引擎

create table tb(
	id int(4) auto_increment ,
	name varchar(5),
	dept varchar(5) ,
	primary key(id)		
)ENGINE=MyISAM AUTO_INCREMENT=1
 DEFAULT CHARSET=utf8;

2.2索引分类

​ 主键索引: 不能重复。id 不能是null
​ 唯一索引 :不能重复。id 可以是null
​ 单值索引 : 单列, age ;一个表可以多个单值索引,name。
​ 复合索引 :多个列构成的索引 (相当于 二级目录 : z: zhao) (name,age) (a,b,c,d,...,n)

2.3创建索引

方式一:
模板:create 索引类型 索引名 on 表(字段)

​ 单值:
​ create index dept_index on tb(dept);
​ 唯一:
​ create unique index name_index on tb(name) ;
​ 复合索引
​ create index dept_name_index on tb(dept,name);

方式二:

​ 模板:alter table 表名 add 索引类型 索引名(字段)

​ 单值:
​ alter table tb add index dept_index(dept) ;
​ 唯一:
​ alter table tb add unique index name_index(name);
​ 复合索引
​ alter table tb add index dept_name_index(dept,name);

注意:如果一个字段是primary key,则改字段默认就是 主键索引

2.4删除索引

​ drop index 索引名 on 表名 ;
​ drop index name_index on tb ;

2.5查询索引

​ show index from 表名 ;
​ show index from 表名 \G

posted @   木糖醇困了  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示