mysql关于索引查询优化

主要参照<高性能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.

猜你喜欢

转载自blog.csdn.net/asdfsadfasdfsa/article/details/83025236