当使用limit时,explain可能会造成误导

When EXPLAIN can be misleading
原文见:http://www.mysqlperformanceblog.com/2006/11/12/when-explain-can-be-misleading/

 

(1)explain当估计行数时,不考虑limit,因此可能会对查询估计过多的检查行数

(2)类似于SELECT ... FROM TBL LIMIT N这样的全表扫描的查询因为用不到索引将要报告为慢查询,如果--log-queries-not-using-indexes被开启的话;可以在配置文件中使用min-examined-row-limit=Num of Rows来设置,如果要检查的行数大于等于这个量的查询才会被报告为慢查询

(3)类似于这样形式的SELECT ... FROM TBL WHERE KEY_PART1=CONST ORDER BY KEY_PART2 LIMIT N,mysql也要估计出过多的检查行数

 

相关于slow-query的参数:

log-slow-queries -- 开启慢查询

long_query_time=N -- 大于N秒的查询为慢查询,并且要满足min-examined-row-limit的要求

log-queries-not-using-indexes  -- 记录不使用索引的为慢查询,并且要满足min-examined-row-limit的要求

min-examined-row-limit=N -- 要检查的行数大于等于N时才记录为慢查询,前提是必须满足long_query_time和log-queries-not-using-indexes约束

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值