前端之家收集整理的这篇文章主要介绍了
SQL最佳实践 – 好的依靠自动增量字段按顺序排序行?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在和一个希望为一堆表
添加时间戳的客户端进行工作,以便他们可以按时间顺序对这些表中的记录进行排序.所有的表格也都有一个
自动递增的整数字段作为它们的主键(id).
(简单)的想法 – 保存开销/存储,并依靠主键按时间顺序排序字段.确实这样做,但我不确定这种方法在声音数据库设计中是否可以接受.
优点:每记录所需的存储少,VO类更简单等.
Con:它意味着该领域的一个特征,一个其他简单的标识符,其定义不以任何方式定义或保证它应该/将如此运作.
假设我的问题是数据库表定义被设置在一起.还是 – 最好的做法是可以接受的吗?
谢谢
你要求“最佳做法”,而不是“不可怕的做法”,所以:不,你不应该依靠
自动增加的主键来建立年表.有一天你要对
数据库设计进行一些改变,这将会破裂.我已经看到它发生了.
默认值为GETDATE()的datetime列具有很少的开销(大约与整数相同),(更好的是)告诉你不仅仅是序列,而是实际的日期和时间,这通常被证明是无价的.即使在列上保持索引比较便宜.
这些天,我总是把一个CreateDate列数据对象连接到真实世界的事件(如帐户创建).
编辑添加:
如果确切的年表对您的应用程序至关重要,则不能依赖自动递增或时间戳(因为总是有相同的时间戳,无论分辨率多高).你可能需要做一些应用程序的具体代替.
原文链接:https://www.f2er.com/mssql/75974.html