求教关于数据库自增长列的问题 我看有很多人设计的数据库,明明有不重复的列 比如ID号码这种,但还是要新建一个自增长列当主键,请问这样做有什么好处吗,还是说自增长列查询比较快? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人觉得有3点:#1.当记录有顺序或查询时有可能依赖顺序的时候,会比较有用。#2.自增,且回滚不会撤销。如果产生断号,可以容易定位到异常的记录。#3.最重的原因,我想就是因为聚集索引。如果一个表没有合适的聚集索引(建议每个表都建立聚集索引),就用一个自增列做主键(同时也是聚集索引),这样每次插入的记录都会在聚集索引的最后,减少了索引碎片。而用其它字段做聚集索引,可能会由于INSERT,UPDATE造成一定的索引碎片。#4.当然,像你说的这种情况,完全可以用ID字段来做主键。如果数据量和主键字段修改量不大,没完没有什么问题。 ID一般是字符串,可能较长自动递增id,一般是4字节整数,索引开销低、定位快另外,用户可见的ID,说唯一、不变,其实都靠不住的:领导一句话大过天 这句强烈同意!!!我们写的自己用的,类似ERP的系统,物料编号是主键,很多地方都用这个来做连接。上个月,领导说要改物料编号的值。我说是主键,没法改。领导就说了,为什么不用数字来做主键,来和其他的表连接。这样,物料编号不就可以改了。我无语……………… 这句强烈同意!!!我们写的自己用的,类似ERP的系统,物料编号是主键,很多地方都用这个来做连接。上个月,领导说要改物料编号的值。我说是主键,没法改。领导就说了,为什么不用数字来做主键,来和其他的表连接。这样,物料编号不就可以改了。我无语……………… 自增长列有个弊病就是当删除的时候容易产生断号,为了让ID能充分利用,那么就可以自己搞个ID列,然后通过程序控制,可以在断号之间插入ID 游标的作用? 求SQL语句问题 请问一个sql排序的问题 关于SQL导入XLS表格的数据类型问题头疼问题,在线等。 高分:求学生,教师,课程的关系表的建立 "无法从 DAC 启动并行操作" 2005 SQL语句求解 求教MS—SQLSRVER2000老手,高手,进来看看~! 关于SQL Server版本之间的区别,希望得到权威回答! MDI窗口的弹出窗口怎么得到焦点? mssql变量代换 为什么sql中IN 会遍历全表
#1.当记录有顺序或查询时有可能依赖顺序的时候,会比较有用。
#2.自增,且回滚不会撤销。如果产生断号,可以容易定位到异常的记录。
#3.最重的原因,我想就是因为聚集索引。如果一个表没有合适的聚集索引(建议每个表都建立聚集索引),就用一个自增列做主键(同时也是聚集索引),这样每次插入的记录都会在聚集索引的最后,减少了索引碎片。而用其它字段做聚集索引,可能会由于INSERT,UPDATE造成一定的索引碎片。
#4.当然,像你说的这种情况,完全可以用ID字段来做主键。如果数据量和主键字段修改量不大,没完没有什么问题。
自动递增id,一般是4字节整数,索引开销低、定位快另外,用户可见的ID,说唯一、不变,其实都靠不住的:领导一句话大过天
我们写的自己用的,类似ERP的系统,物料编号是主键,很多地方都用这个来做连接。
上个月,领导说要改物料编号的值。
我说是主键,没法改。
领导就说了,为什么不用数字来做主键,来和其他的表连接。这样,物料编号不就可以改了。
我无语………………
我们写的自己用的,类似ERP的系统,物料编号是主键,很多地方都用这个来做连接。
上个月,领导说要改物料编号的值。
我说是主键,没法改。
领导就说了,为什么不用数字来做主键,来和其他的表连接。这样,物料编号不就可以改了。
我无语………………