gpt4 book ai didi

mysql - 这个查询可以不使用 Filesort 吗?

转载 作者:行者123 更新时间:2023-11-29 03:06:18 25 4
gpt4 key购买 nike

我有一个包含日期时间列的表,我按该列进行排序。无论我做什么,我总是从 EXPLAIN 中得到“使用哪里;使用文件排序”。

有没有办法让日期时间列上的 ORDER BY 不使用文件排序?

查询非常简单,看起来像这样:

SELECT * FROM table1 WHERE creator_id = 1 AND user_id != 1 ORDER BY created DESC LIMIT 5

索引在 creator_id 和 user_id 上我认为没有理由在 created 上放置索引,因为它基本上总是唯一的,因此会在所有项目上创建索引,即与表一样大。

编辑:我应该提一下,我也尝试过将索引放在 created 上,结果相同。

最佳答案

如果您在 (creator_id, created) 上创建复合索引,您的查询应该运行得更快。

查询规划器将使用索引的第一部分:creator_id 来满足 WHERE 约束,并使用索引的第二部分 created 进行排序。

关于mysql - 这个查询可以不使用 Filesort 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14659955/

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