摘要: 1.delete/truncate只删除数据不删除表,索引的结构。drop将删除表的结构及依赖的index/constrain/trigger,依赖于该表的procedure/function将保留,但是变为invalid状态;2.delete是dml,写rollbacksegement,可回滚,速度慢,事务提交之后才生效。在9i满足undo_retention条件下可使用flashback。一次性大批量数据的delete可能导致回滚段急剧扩展从而影响到数据库,慎用,触发trigger。truncate/drop是ddl,隐式提交,不写rollbacksegment,不能回滚,速度快。9i不能 阅读全文
posted @ 2010-06-19 23:53 hibernate我最强 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 一.查看系统表中的用户索引在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。一般来说,应该尽量避免在SYSTEM表中存储非SYSTEM用户的对象。因为这样会带来数据库维护和管理的很多问题。一旦SYSTEM表损坏了,只能重新生成数据库。我们可以用下面的语句来检查在SYSTEM表内有没有其他用户的索引存在。/*Formattedon2010/6/1913:22:46(QP5v5.115.810.9015)*/SELECT*FROMdba_indexesWHEREtablespace_name='SYSTEM 阅读全文
posted @ 2010-06-19 22:39 hibernate我最强 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 有时候,我们想查看表,存储,触发器等对象的定语语句,有以下两种方法:1.查all_source表2.用DBMS_METADATA包。一.通过all_source表先来确认下,通过all_source表可以查看哪些类型的对象:SQL>SELECTdistincttypeFROMALL_SOURCE;TYPE------------PROCEDUREPACKAGEPACKAGEBODYLIBRARYTYPEBODYTRIGGERFUNCTIONJAVASOURCETYPE从以上的结果我们可以看到,我们可以通过该表查询的对象.查看存储过程定义语句:SQL>SELECTtextFROMAL 阅读全文
posted @ 2010-06-19 00:24 hibernate我最强 阅读(145) 评论(0) 推荐(0) 编辑