23 条回复  ·  302 次点击
chenqh 小成 2024-9-4 20:39:23
你把  is_collect=0 去掉,需要多长时间?
moult 小成 2024-9-4 20:50:56
按小时汇总数据,然后在这个汇总表里面查。不加索引都可以。
pinerge 小成 2024-9-4 20:53:40
explain analyze 看看结果
NowTime 小成 2024-9-4 20:56:05
我们业务有张表差不多几百万行数据,也是基于时间范围查询比如过去 90d 数据,对于某个用户数据量大的插座就比较慢。

偶然一次实验发现,先定位到 90d 前最早的 id 值,查询时带上 id >= {查询值},速度就变得很快。
liuhuan475 小成 2024-9-4 21:24:48
分区表试试
oneisall8955 小成 2024-9-4 22:05:45
所以,这个表 50w 行统计出来,会有人看吗?
aylsss 小成 2024-9-4 22:44:53
1.建个联合索引:CREATE INDEX idx_pro_removal_order ON t_order_stats (pro_removal_time, order_id);

2.查询时把 is_collect=0 放到最后面
threeBoy 小成 2024-9-5 09:10:35
没格式看的头皮发麻, 最简单有效的方式就是再弄一个报表专用数据库 clickhouse 之类的
xuanbg 小成 2024-9-5 10:38:04
纯粹是捞的数据太多造成的,啥都不好使。再怎么优化,也就 5 秒的水平。
lancelotfh 小成 2024-9-5 11:01:34
先把数据捞出来,建张临时表去跑
返回顶部