SQL性能优化拾遗

主要是分析SQL语句查询速度慢的方法:

常用优化命令:

  • show status:会返回一些计数器,show global status会查看所有服务器级别的所有计数
  • show processlist:查看当前执行的sql线程状态
  • explain:分析单条SQL语句性能

常见优化:

  • count(*)会忽略所有列,直接统计所有列数。效率高于count(列名)。查询效率:count(0)=count(1)=count(*)
  • limit偏移量较大时查询效率会变低,可以通过记录上一次查询的最大id来进行下一次查询。

避免以下查询,会导致放弃使用索引的情况:

  • 不要对字段进行null判断
select id from t where num is null
  • 不要使用!=或者<>
  • 不要使用or来连接条件
  • 慎用in和not in
  • 不要使用like '%aa%',尽量采用like 'aa' 或者 like 'aa%'
  • 不要在where字句中的 = 左侧进行表达式,函数,算术运算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值