|
|
1
5
使用hashse是数据库引擎执行连接的一种方式。您必须编写自己的基于哈希的联接,这应该是非常罕见的;这当然不像它们中的一个,它有一个900k行的表,其中包含一些聚合。
GROUP BY按源+类别+元素执行计算。
有很多方法可以过滤掉旧条目,但这一种往往表现得相当好。 |
|
|
2
3
好的,900K行不是一个庞大的表,它相当大,但是您的查询不应该花费那么长的时间。 首先,以上三种说法中哪一种花费的时间最多?
在“data_updated”列上创建一个索引,然后再次运行查询,看看这对您有什么帮助。 如果你不需要散列,并且只使用它们来利用黑暗魔法,那么将它们完全移除。 编辑:拥有比我更多SQL fu的人可能会将您的整个逻辑集简化为一个SQL语句,而不使用临时表。 编辑:我的SQL有点生疏了,但是你在第三个SQL语句中加入了两次吗?也许这不会有什么不同,但不应该是:
或
|
|
|
joaocarlosib · 用于动态查询情况的存储过程常识模式 2 年前 |
|
|
HALIM · Laravel 1查询多个不同的结果 3 年前 |
|
|
Scobbo · 从一个pandas数据帧.loc请求设置多个变量 3 年前 |
|
|
Kalane · 数据集增加时SQL查询缓慢 3 年前 |
|
|
Community wiki · 优化从同一表中提取的多列的查询 3 年前 |
|
|
user164863 · 我可以让这个mySQL查询更快吗? 8 年前 |