MySQL索引的总结
Mysiam 非聚集索引 数据索引分离, 记录的是指针
InnoDB 聚集索引 数据随主键保存, 其他的索引底层记录的是主键索引(这就是 为什么InnoDB存储引擎为什么必须存在主键)
联合索引 存储结构如图
假设有3个字段组成的联合索引 (column1,column2,column3)
不难看出 为什么联合索引遵守了最左前缀匹配法则
从此图可以总结出一些东西
1.如果没用到第一个索引 第二第三个索引肯定会失效
2.如果没用到第二个索引 第三个索引会失效
3.如果前者用到了范围查询, 后面得索引会失效
4.如果使用order by column1,column2,column3,会走索引 因为这颗树本身就是这样排序的. 反之则索引失效
5.前索引使用精准查找 后索引列使用范围查找仍然可以生效