@TO求教各位大佬!!MySQL中,百万甚至更大数据量时,如何快速查询?


前言

请教一下各位大佬,在不进行分表操作的前提下,如何能快速查询数据?

代码如下:

SELECT a.stcd, a.tm, t.mp_q, t.acc_w
FROM(
SELECT MAX(tm) tm, stcd
FROM flow f
WHERE f.tm 
BETWEEN '2021-01-01 08:00' AND '2021-11-09 08:00'
GROUP BY stcd ) a
LEFT JOIN flow t ON a.tm = t.tm
AND a.stcd = t.stcd

这个是查询语句,其中时间时不固定的
flow这个表,数据是一直新增的,不进行删除以及修改操作
目前数据量是在一百七十万;现在查询基本是在2秒左右;但是有时候差不多需要 5、6秒左右
在表中添加了索引,也有尝试利用索引然后将上面的SQL拆分查询,但是作用都不大
所以想请教一下各位大佬,有没有什么好的办法啊?不进行拆表操作的前提下

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐