SQL优化通常手段

  • select

掌握范式跟JOIN的关系  就能区分单表查询和JOIN的关系
1、单表SELECT
   (1)查询列是否含有没有用的部分
   (2)查看执行计划是否使用了索引
   (3)含有ORDER BY LIMIT 可以考虑 延迟JOIN 
2、多表JOIN 查询
   (1)确定好驱动表
   (2)被驱动表必须含有索引
   (3)减少JOIN次数 ,尤其是含有GROUP BY的SQL中可以考虑先聚合后JOIN

  • INSERT

  1、跟磁盘IO 关系很大
  2、INSERT SELECT 结构 如果慢首先要查看SELECT

  • UPDATE

  1、不要进行大事物更新,适当分批进行
  2、查看是否含有锁竞争
  3、不要使用WHERE条件的子查询,改成JOIN

  • DELETE

  1、大量删除可以考虑,创建表结构之后的更名
  2、不要进行大事物更新,适当分批进行
  3、查看是否含有锁竞争
  4、不要使用WHERE条件的子查询,改成JOIN

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值