求教关于数据库自增长列的问题
我看有很多人设计的数据库,明明有不重复的列 比如ID号码这种,
但还是要新建一个自增长列当主键,请问这样做有什么好处吗,还是说自增长列查询比较快?
[解决办法]
个人觉得有3点:
#1.当记录有顺序或查询时有可能依赖顺序的时候,会比较有用。
#2.自增,且回滚不会撤销。如果产生断号,可以容易定位到异常的记录。
#3.最重的原因,我想就是因为聚集索引。如果一个表没有合适的聚集索引(建议每个表都建立聚集索引),就用一个自增列做主键(同时也是聚集索引),这样每次插入的记录都会在聚集索引的最后,减少了索引碎片。而用其它字段做聚集索引,可能会由于INSERT,UPDATE造成一定的索引碎片。
#4.当然,像你说的这种情况,完全可以用ID字段来做主键。如果数据量和主键字段修改量不大,没完没有什么问题。
[解决办法]