mysql 2 千万记录全表扫描 2 小时

2019-04-18 14:01:13 +08:00
 babyrjw

sql 如下,单条记录约 40 个字段,10 个索引,平均记录长度 1.5K ,2 千万记录表空间 16G 左右.
16G 内存,高效云盘,该条 sql 执行 2 小时 10 分钟
iostat 观察 r/s=450, rKB/s=11M. 11M 的速度,扫描完全表也就 2000s 吧,请教下为啥他要跑两个小时呢

select o.enterprise_id, count(1) as num, sum(o.price) as price, now() as create_time
from table_name as o
where 1=1
and (o.status = 6 or o.status = 2)
and o.time >= '2015-06-01 00:00:00'
and o.time <  '2025-07-01 00:00:00'
group by o.enterprise_id
order by null limit 1000
1159 次点击
所在节点    问与答
1 条回复
leon0903
2019-04-19 09:51:39 +08:00
where 条件中的字段都有索引吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/556388

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX