当我想获取最新记录时,按 ID 而非日期字段排序是个好主意吗?它应该更快,因为 ID 是主键,但我总是能得到最新的记录吗?
问问题
112 次
3 回答
2
如果您按 ID 订购并且您的 ID 是您的身份列,那应该没问题,因为您将从最晚到最早订购。请记住将结果按 DESC 顺序排列。
于 2013-08-20T21:04:52.020 回答
2
取决于最新的ID是否比早期的ID更大,不是吗。
这取决于实用主义,如果您可以完全控制 id 是什么,并且如果将来的某些更改迫使您更改 Id(例如从 int 到 string),那么您准备接受打击,那么我不会批评您它。
如果您对能够依赖它感到紧张,请将其抽象出来,例如 GetItemsInOrder、方法、存储过程或视图类型的东西。这样,如果硅神拒绝对您微笑,您可以添加一个 Created_Order 列,从ID,修改事物以使用它,然后继续进行重大更改。
于 2013-08-20T21:32:29.847 回答
1
只要您的 ID 一直在自动递增,它就会以正确的顺序更快地工作。
如果没有,添加一个“添加顺序”列,从最旧日期的 0 开始分配一个值到最新的任何数字,让该列在将来自动递增并按此排序,仍然比按日期排序更快.
于 2013-08-20T21:08:46.903 回答