索引

索引

  • 辅助索引
    • 单例索引
    • 联合索引,由多例构建 (name,age,sex)
      1. 最左原则, 如上:查询时必须要包含name
      2. 建立联合索引时,一定要选择重复少的列作为最左列
    • 前缀索引,针对选择索引长度过长,导致树高度增高

什么时候创建索引?

  • 按照业务语句建立合适的索引 (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: 表示此次查询用到了文件排序
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 索引是应用程序设计和开发的一个重要方面。 若索引太多, 应用程序的性能可能会受到影响。 而索引太少, 对查询性能又...
    好好学习Sun阅读 1,060评论 0 4
  • 一.索引作用 提供了类似于书中目录的作用,目的是为了优化查询 二.索引的种类 B树索引Hash索引 R树索引 Fu...
    极光01阅读 618评论 0 0
  • 1.索引及执行计划 1.相当于一本书中的目录,优化查询. 2.MySQL索引的类型(算法) 3.索引算法的演变 B...
    UncleZ_strive阅读 522评论 0 0
  • 渐变的面目拼图要我怎么拼? 我是疲乏了还是投降了? 不是不允许自己坠落, 我没有滴水不进的保护膜。 就是害怕变得面...
    闷热当乘凉阅读 4,350评论 0 13
  • 感觉自己有点神经衰弱,总是觉得手机响了;屋外有人走过;每次妈妈不声不响的进房间突然跟我说话,我都会被吓得半死!一整...
    章鱼的拥抱阅读 2,220评论 4 5