索引优化
2021-07-08 17:14:14 1 举报
AI智能生成
mysql索引优化
作者其他创作
大纲/内容
5.尽量使用覆盖索引(<b>只访问索引的查询(索引列包含查询列)</b>),减少select * 语句
6.mysql在使用<b><font color="#ff0000">不等于(!=或者<>),not in,not exists的时候无法使用索引会导致全表扫描</font></b><小于、>大于、<=、>=这些,mysql内部优化器会根据检索比例、表大小等多个因素整体评估是否使用索引
7.is null,is not null一般情况下也无法使用索引
8<b><font color="#0000ff">.like以通配符开头('$abc...')</font></b>mysql索引失效会变成<font color="#0000ff">全表扫描</font>操作
通配符在后面,则会走范围索引
<b><font color="#ff0000">解决like'%字符串%'索引不被使用的方法?</font></b>
9.<b><font color="#ff0000">字符串不加单引号索引失效</font></b>
10.<font color="#ff0000"><b>少用or或in,用它查询时,mysql不一定使用索引</b></font>,mysql内部优化器会根据检索比例、表大小等多个因素整体评估是否使用索引,详见范围查询优化
11.范围查询优化
1.全值匹配
2.最左前缀法则<br>
3.<b><font color="#0000ff">不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描</font></b>
原因:对索引列进行这些操作时,可能在B+树中找不到索引
4.<b><font color="#1b5e20">存储引擎不能使用索引中范围条件右边的列</font></b>
<br>
position不走索引了
索引使用总结:
0 条评论
下一页