Wes*_*rch 5 mysql sql database sql-order-by
我有一个表(实际上有几个),我想首先从最近的条目中获取结果。这是我的ORDER BY条款选项:
两列应该同样表示插入记录的顺序。我自然会date_created像任何理智的人一样使用这个领域,但我仍然对此感到好奇。
我知道这可能是分裂的头发,但是有什么理由或极端情况为什么我不应该使用该id列?
编辑:我认为这个问题对于我们想要真正代表插入顺序的值是模糊的。感谢大家的所有回答,我将接受最好的回答并继续前进,因为我认为我假设 ids 总是有序的(参见@Wrikken 的评论)使这变得困难。我的直觉是开发人员永远不应该考虑 id,这就是这里的大多数答案所指向的。
依赖 ID 列进行时间排序并不是一个好主意,因为这不是它的目的。基本上,ID 只是该行的唯一键,仅此而已。使用 ID 可能永远不会导致问题,但没有理由增加假设按 ID 排序将始终成立的复杂性。例如,您将来可能想要删除条目,然后手动插入新条目,或者从其他一些来源中导入过去带有时间戳的条目。如果您没有 date_created 列,那么 ID 将是您唯一的选择,但既然您拥有该列,请使用它,因为它是您的最佳选择。
假设 date_created 永远不会被触及(您已经说过它不会),我认为按 ID 列排序在性能方面会更好。据推测,ID 列是您的 pkey,因此已经编入索引。没有理由不使用它进行排序。我知道您应该始终使用日期进行订购,但说实话,在这种情况下我会使用 ID。
| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |