主要参照<高性能mysql>
一:
1. 关于联合索引查询:https://blog.csdn.net/asdfsadfasdfsa/article/details/82755837
2.聚簇索引即是表, 其他地方无需再存储?
3.非聚簇索引叶子节点存储的是主键值, 所以查询需要两次遍历B+树
4.like查询通配符不在最前是可以使用索引的
5.对于小数据量的表, 全表扫描效率更高
6.索引选择性概念, 将选择性高的列放到索引的最前列
7.主键自增效率一般高于自定义主键, 当然也有缺点, 主要参见p168-171
8.覆盖索引的概念
9.关于三星索引, 参见<数据库索引设计与优化>
10, 尽可能将范围查询放到索引的最后列, 或者使用in来代替范围查询
11. 多个单列索引和一个联合索引, 前者多条件查询优化器会执行索引合并, 参见https://blog.csdn.net/asdfsadfasdfsa/article/details/83016794
二,使用索引优化排序
1.最左前缀可是从where谓词和排序字段一同组成, 也可以单独是排序的字段组成
2.in查询在where中被视为是多个等值条件, 而不是范围查询, 但在排序时被视为范围查询, 即会终止最多前缀匹配
3.