sql数据库查询数据量太大查不出来
我需要出一个数据统计的报表,大概要查6张表,一张表大概是200w记录左右
select dt,num,count(*) from
(SELECT
CONCAT(YEAR (create_time),'年',WEEK(create_time),'周') dt,
COUNT(1) AS num
FROM mail_record202108
GROUP BY dt,`to` ORDER BY WEEK(create_time))t1
group by num order by dt,num;
由于数据量大而且查询复杂,一直查询超时,有什么办法吗?create_time和to都是索引
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
虽然你加了索引,但是函数会让索引失效。尽可能在索引列上完成排序操作,遵照索引建的最佳最前缀。同时索引的话要建立复合索引,因为MySQL一般只会选择一个索引来使用。具体的最好使用explain查看执行计划,看看具体慢在那里,再具体的优化。