首页 文章

MYSQL按日期或主键排序?

提问于
浏览
3

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

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

1 回答

  • 5

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

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

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

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

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

相关问题