mysql联合索引原理

bcd 三个字段,   如果b=1 , 可以走索引,最左匹配原则。

这里注意,页子节点最后挂的是主键,再由主键回表查某一行数据。

这里很奇怪的是b>1没走索引 。为什么会这样?

mysql执行查找自己觉得走全表扫描比走索引更快,因为b>1是,还是会查右边所有数据,如果走索引, 定位到索引对应主键id,再依次回表取得具体数据,  这样还不如直接全表查找呢(全表扫描,走主键索引得到行数据), 

索引+回表  >  全表扫描

但,当b>5时,却走索引,这是mysql自己判断走索引+回表比走全表扫描会更快。

如果只查到索引列+id,就不会回表

猜你喜欢

转载自blog.csdn.net/liuming690452074/article/details/113810320