oracle自增长列为什么那么麻烦?
我设计的一个数据库中大量的表中都把主键设成自增长。
问题一:难道我真的要每张表都对应一个自增列和触发器吗??痛苦中。
问题二:oracle设置自增长对性能是否有影响?怎样修改好点?
问题三:设置触发器有什么优化的解决方案吗?
小小虾米,先谢谢各位了。
兄弟,等你用到知道为什么序列(SEQUENCE)比触发器和自增长好的时候,你就不是虾米了,呵呵,
序列就是性能好,,,,,
触发器的话,可以参考我的博客的http://blog.csdn.net/java3344520/archive/2009/11/30/4907591.aspx
如果你只是每个表需要一个主键。这个主键只要保证唯一,不关心是不是每次加一。
也可以使用GUID函数解决。
取得GUID的函数SYS_GUID()。得到一个随机的16进制序列,保证唯一性。
使用oracle自身的自增,经常会遇到报ID重复错误。建议使用UUID
主键自增长用sequence就行了。为什么还要触发器
只要创建序列就行了!根本不用再创建触发器了!
1.每个表都创建一个序列。
2.嫌麻烦的话,所有表都共用一个序列。
反正序列的值可达10的27次方,你这辈子是用不完的了!无论你建多少张表。
相关问答:
安装了Oracle 10g,默认安装了orcl数据库,这个数据库能不能删除啊,还有我如果新建了其他数据库,怎么知道在web中登陆不同数据库的地址啊?
1
可以删除
2
在WEB地址栏中输入地址的时候指定新创建的数据库的IP ......
请问这个缓冲池是怎么回事啊?可以连接缓冲池利用其中的数据吧?怎么用?
这个是oracle自动做的,一般应用程序是操作不了的。
不能直接连接吗?
引用
不能直接连接吗?
不能
那缓冲池里的数据也不能查询 ......
各位oracle高手,请教一下为什么oracle 10g在安装到百分之八十五的时候就报错不能继续安装?
内存多大? 重新下个数据库安装试试..
引用
各位oracle高手,请教一下为什么oracle 10g在安装到百分之八十五的时 ......
在执行包的时候引用oracle spatial空间函数出错,出错情况如下
Errors in file
/user/oracle/app/oracle/admin/grid/udump/grid1_ora_143768.trc: ORA-29902:
error in executing ODCIIndexStart() routine ORA-0 ......
select sum(a.t)from ta a group by ta.a,这条语句将表ta中的数据按照a字段分组汇总t字段。
结果比如:
3 30
4 50
我想得到这个结果:
1 0
2 0
3 30
4 50
5 0
这个结果,请问sql语句怎么写?多谢
nobody ......