Mysql 此查询是否可以不使用文件排序?

Mysql 此查询是否可以不使用文件排序?,mysql,Mysql,我有一个带有datetime列的表,我根据该列进行排序。 无论我做什么,我总是从解释中得到“使用where;使用filesort” 是否无法通过日期时间列获得不使用filesort的订单 查询非常简单,如下所示: 从表1中选择*,其中创建者id=1,用户id!=1按创建的描述限额5下单 索引位于creator_id和user_id上,我认为没有理由在created上放置索引,因为它基本上总是唯一的,因此会在所有项目上创建索引,即与表一样大 编辑:我应该提到我也尝试过在created上放置索引,结

我有一个带有datetime列的表,我根据该列进行排序。 无论我做什么,我总是从解释中得到“使用where;使用filesort”

是否无法通过日期时间列获得不使用filesort的订单

查询非常简单,如下所示:

从表1中选择*,其中创建者id=1,用户id!=1按创建的描述限额5下单

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


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

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


查询计划器将使用索引的第一部分:
creator\u id
来满足WHERE约束,使用
created
的第二部分来排序。

这个表有多大?比如有多少行,典型的行宽,总的表大小(MB)?给我们看一些添加的示例代码。该表有200000到1000000行。此时,表有413000行,大小为53MB。它有8列。没有什么不寻常的地方,比如varchars、datetimes和bigints。如果没有see 1,几乎不可能对性能做出明智的评论。表设计,和2。这个解释谢谢你。我对这三个都有索引。这并没有造成什么不同,而这却造成了世界的不同。如果你有一本书的建议,我可以了解更多关于这一点,我真的很感激。