mysql基础(十二)索引及SQL优化(下)

索引失效及优化:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
模糊查询失效:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
or连接失效:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
违反最左前缀失效:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
联合索引范围查询后的索引失效:
在这里插入图片描述
在这里插入图片描述
索引参与运算(包括函数)索引失效:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
字符串不串不加单引号索引失效:
在这里插入图片描述
辨识度过低不走索引:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
索引尽量使用覆盖查询:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看索引使用情况:
在这里插入图片描述
在这里插入图片描述
导入文件优化:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
SQL语句优化:
INSERT优化
原始方式

insert into table_name values(a,b);
insert into table_name values(c,d);

优化方式:

insert into table_name values(a,b),(c,d);

插入时手动开启事务并按顺序插入。

order by优化:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
FileSort优化:
对于filesort的优化mysql提供了两种算法,其一是4.1之前的两次扫描算法,性能较差;其二是一次扫描算法,性能优但是占内存。
mysql通过比较系统变量max_length_for_sort_data的大小和Query语句取出字段的总大小来选择使用哪种算法,如果max_length_for_sort_data足够大,会选择一次扫描算法。所以我们可以通过增大max_length_for_short_data和sort_buffer_size来提高效率。
在这里插入图片描述
group by优化:
group by实际上也会排序,只是在排序后进行了分组。同样也可以用索引来提高效率。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
子查询优化:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
or优化:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
limit优化:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

索引提示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

索引失效及优化总结

1.or有一侧非索引会失效,可用Union代替。
2.模糊查询%号前置不走索引,可以覆盖解决。
3.违反最左前缀失效
4.索引字段参与运算失效
5.字符不加单引号会失效
6.IN(not in)、is(is not)匹配辨识度低的值会失效,可以用强制索引解决。
7.一个以上的二级索引参与分组索引失效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值