Mysql索引优化一
2023-05-26 17:58:58 3 举报
MySQL学习
作者其他创作
大纲/内容
<b>联合索引第一个字段用范围不会走索引</b>
一般情况下联合索引第一个字段就用范围查找不会走索引,mysql内部可能觉得第一个字段就用范围,<b><font color="#b71c1c">结果集应该很大</font></b>,回表效率不高,还不如就全表扫描
但是如上图,数据是zhuge1~zhuge100000,第一个字段用了范围查找还是走了索引,<b><font color="#000000">可能走不走索引跟</font><font color="#b71c1c">ROWS列的大小</font><font color="#000000">也有关</font></b>
<b>强制走索引</b>
虽然使用了强制走索引让联合索引第一个字段范围查找也走索引,<b>扫描的行rows看上去也少了点</b>,但是最终查找效率不一定比全表扫描高,<b><font color="#0000ff">因为回表效率不高</font></b>
<b>覆盖索引优化</b>
使用覆盖索引不需要考虑回表的问题,一定会走索引
<b>in和or在表数据量比较大的情况会走索引,在表记录不多的情况下会选择全表扫描</b>
数据量大一般会走索引,cost成本计算决定走不走索引
数据量小不如全表扫描
<b>like KK%不管表数据量大小都会走索引</b>
0 条评论
下一页