3.【MYSQL】索引

Mysql索引四种索引

主键索引   
	例如:alter table 表名 add primary key (列名);
	例如:id int unsigned primary key auto_increment
唯一索引   
    例如:create unique index 索引名  on 表名 (列表..);
普通索引
	例如:create index 索引名 on 表 (列1,列名2);
全文索引【MyISAM】引擎

Mysql查询索引的方式

desc 表名 【该方法的缺点是: 不能够显示索引名.】
show index(es) from 表名
show keys from 表名

索引的代价

1.	占用磁盘空间
2.	对dml操作有影响,变慢

复合索引左前缀规则

1.左前缀原则
2.like的关键字最前面不能使用 % 或者 _这样的字符.如果一定要前面有变化的值,则考虑使用 全文索引->sphinx.
3.有OR查询 就是要求使用的所有字段,都必须建立索引, 我们建议大家尽量避免使用or 关键字
4.列类型是字符串,一定要加引号否则不使用索引。

执行计划

explain 【SQL语句】\G
例如:explain select * from dept where loc=‘aaa’\G
在这里插入图片描述

索引使用的情况查询

show status like ‘Handler_read%’;

大家可以注意:
handler_read_key:这个值越高越好,越高表示使用索引查询到的次数。
handler_read_rnd_next:这个值越高,说明查询低效。

猜你喜欢

转载自blog.csdn.net/dong8633950/article/details/83514525
3.
今日推荐