gpt4 book ai didi

mysql - Sql 查询优化以获取更快的结果

转载 作者:行者123 更新时间:2023-11-29 12:49:34 25 4
gpt4 key购买 nike

执行此查询需要相当多的时间。我该如何优化它?

SELECT user, count(tweet) FROM tweet WHERE 1 = 1 GROUP BY user

我的数据库的结构如下:

DATE | USER | TWEET | ID

我需要一个查询来查找每个用户的推文数量。 MYSQL数据库大小约为3GB。

最佳答案

这是您的查询:

select user, count(tweet)
from tweet
where 1 = 1
group by user;

不幸的是,MySQL 在group by 的优化方面可能很糟糕。您可以尝试添加索引 tweet(user) 并将 count(tweet) 更改为 count(*)。另一种可能性是使用该索引并执行以下操作:

select u.user, (select count*) from tweet t where t.user = u.user)
from user u;

有时,在子查询中进行聚合会有所帮助,因为 MySQL 可以更好地利用具有相关子查询的索引。

最后,如果您需要所有用户同时都能轻松获取此信息,那么您可能需要触发器。如果您一次只需要一个用户,那么上面的索引将非常有用。

关于mysql - Sql 查询优化以获取更快的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24971739/

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