4

我有一个带有自动增量主键列和日期时间列的表。我想返回按创建日期排序的行。

我按日期或主键订购有关系吗?0000-00-00 00:00:00我想与日期格式或时间戳相比,主键更快。新记录将具有更大的主键。然而,每个人都按日期字段排序。

4

1 回答 1

7

按日期字段排序,但请确保在日期字段上放置索引。

日期字段是二进制字段,它与主键一样快。(日期是 3 个字节,而整数主键是 4。)它不使用字符串对其进行排序,正如您所假设的那样。

更重要的是,它表明了你的意图,(加上主键可能会环绕)。

此外,如果您使用 innodb,则根据事务交错的方式,主键完全有可能不按顺序排列。

此外,如果您擅长阅读查询计划,请将日期列添加到用于查询的同一索引的末尾。但是,这仅适用于特定情况,因此只有在您知道它会有所帮助时才这样做。即不要盲目地去做。

于 2012-08-07T03:35:05.407 回答