奇葩问题,2个条件count很快,2个以上条件count就很慢,这是为啥?求大神解答

dingyunke 2017-12-09 07:03:42
麻烦经验丰富的大神给解答下,谢谢
问题描述:数据量不大,按理说应该毫秒返回,where条件查询两个条件很快(where sellerMemberId=? and status=? --1秒之内 执行计划看图1),(where sellerMemberId=? and status=? and mergeOrderStatus=? --10秒之上 执行计划看图2),这又是为什么???
表数据量:30w
表操作:求count
命中数据量:570
索引情况:where条件字段都有索引
执行sql语句:SELECT COUNT(0) AS total FROM al_order_1 t1
WHERE sellerMemberId = 'b2b-2413499052' AND status = '买家已付款' AND mergeOrderStatus IN ('0', '3', '4') AND gmtcreate <= '2017-12-09 23:59' AND gmtcreate >= '2017-11-24 00:00'

图1:查询2个where条件的执行计划


图2:查询多个where条件的执行计划执行计划:



...全文
255 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小野马1209 2017-12-11
  • 打赏
  • 举报
回复
1楼说的对,数据量大用建索引会加快检索效率
zjcxc 2017-12-11
  • 打赏
  • 举报
回复
索引建得有问题吧? 第一个执行计划看起来用的是两个索引,第2个只有一个

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧