高性能MySQL(第三版) 是在MySQL5.5的基础上进行讲解的。
研读了第六章 查询性能优化的3-6小节,记录一些知识点。
- 索引列不能是表达式的一部分,也不能是函数的参数
- 最好避免随机的(不连续且分布范围非常大)聚簇索引,特别是对于I/O密集型的应用
- 页分裂、碎片
- 如果查询需要关联多张表,则只有当 order by 子句引用的字段全部为第一个表时,才能使用索引做排序
- 冗余索引、重复索引、未使用的索引尽量别用
- MySQL5.1 版本以后,InnoDB 在服务端过滤掉行后就释放锁
- InooDB 在二级索引上使用共享(读)锁,但访问主键索引需要排他(写)锁
- 尽可能将需要做范围查询的列放在后面
网友评论