我对使用表中主键的自动编号在select语句中对结果进行排序很感兴趣。
最终,我希望从表格中选择最新记录,并注意使用ORDER BY DateTime DESC
时的执行时间远远超过使用ORDER BY Id DESC
。
虽然假设编号最高的自动编号/主键是最后一条记录,这是不好的做法吗?
由于 加雷
答案 0 :(得分:3)
虽然假设编号最高的自动编号/主键是最后一条记录,这是不好的做法吗?
<击>
如果你的意思是最后一个插入记录,那么这是一个不错的方法 - autonumber
永远不会去#34;倒退&#34; (但可以如下所述变为负数。)
但是,您可以指定一些可能会改变正确答案的边缘情况:
击>DateTime
值,该怎么办?他们俩都会被认为是最后一个&#34;记录? DateTime
插入记录(例如从外部源导入或合并两个数据集。修改强>
基于评论和donwvotes,我修改了我的答案,同意自动增量字段不是确定&#34; last&#34;的最佳解决方案。记录。有太多案例可能会推荐它。
总而言之,如果您对&#34; last&#34;的定义是&#34;具有最高DateTime
值的记录&#34; - 然后用它!
您可以在DateTime
上添加一个索引,这将显着加快对该列的查询速度。