gpt4 book ai didi

mysql - 使用 MAX()、GROUP BY 和 ORDER BY 优化 MySQL 查询

转载 作者:行者123 更新时间:2023-11-30 00:50:41 24 4
gpt4 key购买 nike

有什么方法可以优化这个查询以使其运行得更快。

这是我的查询:

SELECT MAX(datum) AS maxdatum
FROM forumtext
GROUP BY id_forumtops
ORDER BY maxdatum DESC
LIMIT 10


id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE forumtext index NULL datum_2 8 NULL 283037 Using index; Using temporary; Using filesort

我不知道如何进一步提高该查询的性能。我知道它很慢,因为我使用的是 MAX() 并且没有索引。我还能做些什么来防止它减慢查询速度吗?

更新@Marcus,我按顺序在 id_forumtops 和 datum 上创建了一个多列索引。速度并不快...

id  select_type table   type    possible_keys   key             key_len ref     rows    Extra
1 SIMPLE forumtext index NULL id_forumtops_2 8 NULL 283070 Using index; Using temporary; Using filesort

最佳答案

LIMIT 在这里对性能没有多大帮助,因为 MySQL 必须计算最大值,然后对它们进行排序,然后才能应用限制。基本上,您只是节省了带宽。

您可以对查询进行的唯一优化可能是提供覆盖索引,以加快 GROUP BY 和读取值的速度。按顺序在 id_forumtopsdatum 上创建多列索引。

关于mysql - 使用 MAX()、GROUP BY 和 ORDER BY 优化 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006695/

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