临时表两种类型:
基于事务:on commit delete rows,默认
基于会话:on commit preserve rows
临时表中的块不会获得DML锁
在临时表中执行DML语句,不会生成REDO,但会产生undo和undo的redo
可以在全局临时表上可以创建索引,视图和触发器
临时表存放的位置:
临时表存放在临时表空间
SQL> select count(*) from dba_SEGMENTS WHERE SEGMENT_NAME='T_2';
COUNT(*)
----------
0
SQL> select table_name,tablespace_name from ALL_TABLES WHERE TABLE_NAME='T_2'
2 ;
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
T_2
此处可以看出临时表没有分配extent,tablespace_name为空
临时表的用途:
适用于insert/select ,因为insert是空白块回写,基本没有redo
不适用于update-delete/select,这样还是会产生undo的redo
阅读(949) | 评论(0) | 转发(0) |