程序员和数据库管理员产生了意见分析.
如下.程序员(J2EE)建议,在没有唯一ID的表中,都要建一个sequences ID.
数据库管理员认为,在可以不用建一个sequences ID的时候,都不建,用多个外建做联合主建.原因是:程序员方便程序控制,认比较有效率,数据库管理员认为浪费空间,是个bug,如果你现在设置的值不够大,程序到时候会完成崩溃.背景:是一个网上的会员系统,在前期市场上有过类似的,但基本上都失败了.不过我们对前景还是很乐观的.
数据库的表不会超过100个.希望大家能给个分析建议,谢谢.
如下.程序员(J2EE)建议,在没有唯一ID的表中,都要建一个sequences ID.
数据库管理员认为,在可以不用建一个sequences ID的时候,都不建,用多个外建做联合主建.原因是:程序员方便程序控制,认比较有效率,数据库管理员认为浪费空间,是个bug,如果你现在设置的值不够大,程序到时候会完成崩溃.背景:是一个网上的会员系统,在前期市场上有过类似的,但基本上都失败了.不过我们对前景还是很乐观的.
数据库的表不会超过100个.希望大家能给个分析建议,谢谢.
自己先up下,我觉得如果每天总共产生的ID超过10000,会不回有数据库管理员认为那种情况呢.
sequences ID的长度现在设置为number10
多表连接的时候,也不大可能是用sequence的那一列去进行连接吧
create table TblTest(
fd01 varchar(10),
fd02 varchar(10),
fd03 varchar(10),
fd04 date,
...
constraint pk_TblTest primary key (fd01,fd02,fd03,fd04)
)create table TblRefTest(
fd01 varchar(10),
fd02 varchar(10),
fd03 varchar(10),
fd04 date,
refFd01 varchar(50),
...
constraint fk_ref_test foreign key(fd01,fd02,fd03,fd04) references TblTest(fd01,fd02,fd03,fd04))在这种情况下不如用一个seq自动生成主键了。ORacle 的索引效率上会比较好。