索引
- 辅助索引
- 单例索引
- 联合索引,由多例构建 (name,age,sex)
- 最左原则, 如上:查询时必须要包含name
- 建立联合索引时,一定要选择重复少的列作为最左列
- 前缀索引,针对选择索引长度过长,导致树高度增高
什么时候创建索引?
- 按照业务语句建立合适的索引 (where, group by, order by, join on)
索引过多,什么增加索引维护,阻塞正常业务更新请求。导致优化器出现偏差
查询索引情况,show index from table
- PRI: 聚区索引,MUI: 辅助索引,UNI: 唯一索引
- 索引命令
创建: alter table 表名 add index 索引名(列名)
创建前缀索引: alter table 表名 add index 索引名(district(前缀个数))
删除: alter table 表象 drop index 索引名
执行计划分析
type: index < range < ref < eq_ref < const
- index: 全索引扫描
- range: 索引范围查询
- ref: 辅助索引的等值查询
- eq_ref: 多表链接中,非驱动表链接是主键或唯一键
- const/system: 聚区
key_len: 联合索引覆盖长度,长度受数据类型和字符集影响
extra:
- using filesort: 表示此次查询用到了文件排序
网友评论