按ID订购以获取最新记录?

时间:2013-08-20 21:03:18

标签: sql sqlite sorting sql-order-by

当我想获取最新记录时,按ID而不是日期字段订购是个好主意吗?它应该更快,因为ID是主键,但我总能获得最新记录吗?

3 个答案:

答案 0 :(得分:2)

如果您按身份订购并且您的身份证是您的身份栏,那么它应该没问题,因为您将从最新到最早订购。请记住将结果放入DESC顺序。

答案 1 :(得分:2)

取决于最新的ID是否比之前的ID更大。

这是实用主义这个,如果你完全控制id是什么,你准备接受命中如果未来的一些变化迫使你改变Id(比如从int到string)那么我就不会批评你。

如果您对能够依赖它感到紧张,请将其抽象出来,例如GetItemsInOrder,方法,存储过程或视图类型 这样一来,如果硅神拒绝向你微笑,你可以添加一个Created_Order列,从ID中填充它,修改它以使用它然后继续进行一次重大改变。

答案 2 :(得分:1)

只要您的ID已自动递增,它就应该以正确的顺序运行得更快。

如果没有,添加“添加订单”列,将最早日期从0开始的值分配给最新的任何数字,将来该列自动增量并按此排序,仍然会比按日期排序。