浏览 2263 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-01-15
作为表的主键,我们系统一般是加上时间前缀 ,为 yyyyMMdd + sequenceid 形成,主键冲突方面不会有太多担心,主要担心多用户同时请求,是否会造成性能上的瓶颈。 查书籍《ORACLE 10G 宝典》上如是说: 引用 如果多用户同时提出请求,序列将按照串行机制依次处理各个用户请求,...,序列生成下一个整数的速度十分快,即使在并发用户数量很多的联机事务处理环境中,对请求也不会造成明显的延迟
另外,再加上CACHE ,性能方面更不会有问题。 综上,提出来供大家探讨。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-01-15
baichuan 写道 认为一个Table对应一个Sequence 好像是天经地义的事情
一起是这样。这样应该也没什么坏处。 |
|
返回顶楼 | |
发表时间:2009-01-15
除非你的数据库写数据很频繁, 可能这个东西被LOCK的厉害, 一般来说, 是不会有问题。 但是, 不符合设计的原则, 不是么?
|
|
返回顶楼 | |
发表时间:2009-01-15
以前设计面向数据库的cms时,用过。理论上没问题,但不知道大规模创建数据时是否会因为锁导致效率低……
|
|
返回顶楼 | |
发表时间:2009-01-16
问题是为什么要这么搞,加SEQ麻烦?
|
|
返回顶楼 | |
发表时间:2009-01-16
Oracle里本身就有Sequence,你干嘛还自己搞一个?
况且yyyyMMdd + sequenceid 只能是字符串类型的,多占空间啊。 整个数据库共用一个Sequence问题不大,因为一般的应用中,记录非常多的表只有几个,对于ID字段空间的浪费还不是很大。 |
|
返回顶楼 | |
发表时间:2009-01-17
kunee 写道 问题是为什么要这么搞,加SEQ麻烦?
使用同一个序列,对应定义所有数据对象为同根单一继承。 |
|
返回顶楼 | |