前言
MySql性能调优写到第四篇了,关于索引的调优终于到了重点。本篇将着重观察索引的触发条件与执行计划。
所谓最左前缀原则,顾名思义,就是在复合索引中从最左列使用索引。
MySql一次查询只能使用一个索引,如果针对多列条件查询,请建复合索引。
MySql一张表最多有16个索引,一个复合索引最多有16列,索引长度最大为256个字节。
最左前缀
当查询条件精确匹配左边连续一个或多个列时,索引可以被使用,但只能使用一部分。索引的许多规则并不需要死记硬背,结合之前学习的索引数据结构即可理解。
表与索引
表.png
索引.png
索引顺序依次为name,type,price。
全列匹配
全列匹配.png
理论上索引对顺序是敏感的,但mysql会自动优化where后条件的位置,例如颠倒位置: