gpt4 book ai didi

mysql - 在 SELECT 中使用 SUM() 更好,还是在 SUB-SELECT 中使用 SUM() 更好?

转载 作者:行者123 更新时间:2023-11-29 07:31:02 24 4
gpt4 key购买 nike

我有两个查询具有相同的结果,现在我想知道哪个查询更优化?

在选择中:

select t1.*, sum(t2.value) as total_votes
from table1 t1
left join table2 t2
on t1.id = t2.post_id

在子选择中:

select t1.*, t3.total_votes
from table1 t1
left join (select post_id, sum(value) as total_votes from table2 t2 group by post_id) t3
on t1.id = t3.post_id

需要注意的是,我有两个表:table1(帖子),table2(投票)。上面的两个查询用于计算每个帖子的总票数。

那么,哪一个更快、更优化?

最佳答案

通常第一个更好,但这取决于表大小和过滤数据的条件。

如果您能够在子查询中过滤数据,那么它可能会很快,但在您的情况下,第一个查询似乎会更好,因为您在子查询中没有进行太多数据过滤。

注意:如果您只想获得常见结果,则应使用普通连接而不是左连接,因为这样可以获得性能。

关于mysql - 在 SELECT 中使用 SUM() 更好,还是在 SUB-SELECT 中使用 SUM() 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32649019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com