关于sql数据库自动编号与手动编号有关问题
关于sql数据库自动编号与手动编号问题
我想请教老师们一问题,之前我开发数据库项目一直用的是sql数据库,主键采取的是手动编号递增形式比如1,2,3,4.
但在实现联网时,如果客户端用户量大,我怕会出现主键重复的问题,想改用自动编号,但工作量着实太大.
我就想问一下,sql数据库主键自动编号究竟有没有优越性,如果手动编号调用频繁的话会不会出现主键重复!!
------解决思路----------------------
自动编号优越性就是不会重号,不需算号, 手动编号当然就需要使用更多代码来控制重号了,一般是用事务
------解决思路----------------------
或者做为主键,每次入库时,重新时时取下!
------解决思路----------------------
我的经验是:
主键不能是用户能看到的有意义的字段
所以,自动自增或guid是最合适的
因为国情下,用户的领导想怎么样就怎么样,用户看得到的字段,承诺不改也是靠不住的
手工编号的并发问题还是其次了
------解决思路----------------------
主键采用手工编号的字段,一般是不经常编号的数据
经常变动、交互频繁的表,主键最好不要采用手工编号。
至于手工编号是否会产生重复,这个不可避免的
因为你表字段是主键,重复不就让保存呗。
我想请教老师们一问题,之前我开发数据库项目一直用的是sql数据库,主键采取的是手动编号递增形式比如1,2,3,4.
但在实现联网时,如果客户端用户量大,我怕会出现主键重复的问题,想改用自动编号,但工作量着实太大.
我就想问一下,sql数据库主键自动编号究竟有没有优越性,如果手动编号调用频繁的话会不会出现主键重复!!
------解决思路----------------------
自动编号优越性就是不会重号,不需算号, 手动编号当然就需要使用更多代码来控制重号了,一般是用事务
------解决思路----------------------
或者做为主键,每次入库时,重新时时取下!
------解决思路----------------------
我的经验是:
主键不能是用户能看到的有意义的字段
所以,自动自增或guid是最合适的
因为国情下,用户的领导想怎么样就怎么样,用户看得到的字段,承诺不改也是靠不住的
手工编号的并发问题还是其次了
------解决思路----------------------
主键采用手工编号的字段,一般是不经常编号的数据
经常变动、交互频繁的表,主键最好不要采用手工编号。
至于手工编号是否会产生重复,这个不可避免的
因为你表字段是主键,重复不就让保存呗。