Mysql如何提升Group by + Having型子查询的查询速度(千万级别数据)

新手上路,请多包涵

如题所示。
有一出货记录表 outDetail。表中大约3000W条数据。
字段如 outId, skuId, outDate, outQty等。

现想查出最近三个月没有出货的SKU号。有如下SQL:
select skuId from outDetail group by skuId having max(outDate) < date_sub(curdate(), interval 90 day);

查询速度很慢。请问如何优化?

阅读 7.3k
1 个回答

一、表分区,按月份。。
不清楚你的业务逻辑, 出货记录表,一个SKU 是唯一的吗。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题