3.【MYSQL】索引
阿新 • • 發佈:2018-12-21
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:這個值越高,說明查詢低效。