驱动表数据多

来源:9-2 不再随意设置数据类型,不给未来留隐患

一日看盡長安花

2020-12-08

SELECT count(a.id)
FROM a left join b on a.num = b.num;

场景:统计满足条件的记录数
索引:num
问题:a表数据很多,导致查询很慢,这种如何有效的解决?

写回答

2回答

张勤一

2020-12-08

同学你好:

    你这里所贴出的 SQL 已经足够简单了,我目前看原因也就是因为 A 表的数据量太大,导致整个 COUNT 聚合计算的时间太久,我觉得是没有什么更好的办法,而且我觉得这个语句执行的也不会很慢。

    如果实在是觉得太慢了,不能达到业务的需求,就需要考虑建一张临时表了,定时将合适的数据更新到临时表中,也就是做冗余存储,以空间去换时间。


    我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!

1
1
一日看盡長安花
加了where a.num='xxx'后,50万行数据5s左右算是正常吗?
2020-12-08
共1条回复

一日看盡長安花

提问者

2020-12-08

加了where a.num='xxx'后,50万行数据5s左右算是正常吗?

0
1
张勤一
这需要看你的硬件配置与字段是什么类型,等等因素
2020-12-08
共1条回复

Java实操避坑指南 SpringBoot/MySQL/Redis错误详解

掌握业务开发中各种类型的坑,,Java web开发领域通用

466 学习 · 204 问题

查看课程