MySQL常用SQL优化技巧总结

1、精准化查询内容
在查询数据时,要确定查询字段,不要查询多余字段。
select * from  table;
//这种偷懒写法在表字段超多100+,或者表数据超大时,消耗浪费很大,因为返回过多无用的字段会降低查询效率
优化策略:应该使用具体的字段代替*,只返回使用到的字段。
如:select id ,name ,age from student;
2、小心使用模糊查询
不要在where条件中使用左右两边都是%的like模糊查询,如:LIKE '%zhang%'
select id,name from student where name like  '%zhang%';

优化策略:尽量在字段后面使用模糊查询。
3、尽量不要使用in 和not in
尽量不要使用in 和not in,会造成全表扫描。
select id ,name ,age from student where id not in (1,2,3) 
 优化:对于连续的数值,能用 between 就不要用 in对于子查询,可以用exists代替。
4、 尽量不要使用or,会造成全表扫描
 尽量不要使用or,会造成全表扫描
 SELECT * FROM t_order WHERE id = 1 or id = 3
 优化策略:可以用union代替or。如下:
 SELECT * FROM t_order WHERE id = 1
 UNION
 SELECT * FROM t_order WHERE id = 3
5、尽量不要在 where 子句中对字段进行表达式操作
尽量不要在 where 子句中对字段进行表达式操作,where条件里尽量不要进行null值的判断,null的判断也会造成全表扫描。
6、尽量不要在where条件中等号的左侧进行表达式.函数操作,会导致全表扫描。
会导致全表扫描。
7、尽量不要使用where 1=1的条件。
会导致全表扫描。
8、合理使用索引提升查询效率
在表中建立索引,优先考虑where.group by使用到的字段。
总结
SQL优化的核心要点:
1、只查需要的;
2、尽量只查数据分布的部分,避免全表查
3、合理利用索引特性,优化查询效率
4、用高效简单查询替换复杂查询
5、合理利用Explain关键字,分析MySQL执行计划,针对性优化。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色的四叶草

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值