gpt4 book ai didi

mysql - 我怎样才能加快这个 SELECT 查询?

转载 作者:行者123 更新时间:2023-11-29 03:20:58 24 4
gpt4 key购买 nike

我有一个包含 user_id、time、inHour 和 outHour 的表,如下所示

enter image description here

我想用 user_id 分组并在相关字段上获得最大时间。在下图中,您可以看到我想要的结果。

enter image description here

我的查询运行良好。但我想提高速度,因为它对大数据来说运行缓慢。这是我的查询:

SELECT
foo.user_id,
foo.time,
foo.inHour,
foo.outHour
FROM
(
SELECT
MAX(time) AS time,
user_id
FROM
foo
GROUP BY user_id
) AS t1
INNER JOIN foo ON (t1.user_id = foo.user_id AND t1.time = foo.time);

我需要大幅减少查询时间。非常感谢任何帮助。

最佳答案

Groupwise-max?

您将需要一个复合索引。您现有的查询将受益于

INDEX(user, time)  -- in this order!

我的博客提供了更快的技术:http://mysql.rjweb.org/doc.php/groupwise_max

关于mysql - 我怎样才能加快这个 SELECT 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45164259/

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