MYSQL按日期或主键排序?

Cyb*_*kie 4 php mysql

我有一个表,其中包含自动增量主键列和日期时间列.我想返回按创建日期排序的行.

如果我按日期或主键订购,这有关系吗?我认为通过与日期格式0000-00-00 00:00:00或时间戳相对的主键更快.新记录将具有更大的主键.然而每个人都按日期字段排序.

Ari*_*iel 6

按日期字段排序,但请确保在日期字段上添加索引.

日期字段是二进制字段,它与主键一样快.(日期是3个字节,而不是整数主键,它是4.)它不会使用字符串来按照您的假设进行排序.

更重要的是,它表明了你的意图(加上主键可以包裹).

此外,如果您使用innodb,主键完全有可能不按顺序排列,具体取决于事务交错的方式.

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

  • @bfavaretto否。您必须为其编制索引。最快的方法是按已经用于搜索的索引排序。因此,请检查您的查询计划,然后将日期字段添加到搜索索引中。(正确执行此操作可能很棘手,并且您必须非常了解数据库。大多数时候,只需在日期字段上添加索引,然后在此处停止即可。) (2认同)