gpt4 book ai didi

mysql 按 : Slow query 分组

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

这是我的问题

SELECT file_id, file_name, file_date, file_email
FROM (SELECT *
FROM `file`
ORDER BY file_date DESC
) AS t
WHERE file_domains = ''
GROUP BY file_name
ORDER BY file_date DESC
LIMIT 0 , 100

主键是 file_id,索引是 file_name。记录约900k在我的本地计算机上大约需要 2 秒。这个查询有什么优化吗?提前致谢。

最佳答案

您的查询使用了 MySQL 的非标准“功能”(错误:一个非标准功能和一个半标准功能),并且不能保证它不会在未来的 MySQL 版本中中断,届时优化器将聪明到明白子查询是多余的。

(file_domains, file_name, file_date) 上添加索引并尝试这个版本:

SELECT f.file_id, f.file_name, f.file_date, f.file_email
FROM
`file` AS f
JOIN
( SELECT file_name
, MAX(file_date) AS max_file_date
FROM `file`
WHERE file_domains = ''
GROUP BY file_name
ORDER BY max_file_date DESC
LIMIT 0 , 100
) AS fm
ON fm.file_name = f.file_name
AND fm.max_file_date = f.file_date
ORDER BY f.file_date DESC ;

关于mysql 按 : Slow query 分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12589249/

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