数据库
首页 > 数据库> > Oracle数据库创建临时表&清空表&释放表&给临时表加索引

Oracle数据库创建临时表&清空表&释放表&给临时表加索引

作者:互联网

1、Oracle数据库创建临时表的方法

第一种:最原始的方法

CREATE TABLE TABLE_NAME

(

 列名,类型

)

CREATE TABLE TEMP1
(
ID_1 NUMBER,     --数字型
NAME NVARCHAR2(10),      --字符,最大值10
ADDR_1 NVARCHAR2(50)    --字符,最大值50
)

--这种方式非常古老了,适合在Oracle库中临时测试,或者取数的时候用。

第二种:非常快捷的方法

如果已经存在表,在这个表基础上取几个字段,建立临时表

CREATE TABLE TEMP2 NOLOGGING AS
SELECT A.* FROM TEMP1 WHERE 1=2;

这种创建表用了1=2的条件,非常方便,只是克隆了TEMP1的表模型结构,并没有复制表数据,非常方便。

如果要全部提取TEMP1的表数据,不要加这个条件即可。

 

2、清空临时表数据

TRUNCATE TABLE TEMP1;   --只清空数据,表模型结构还在,用select * from TEMP1 可以查到表;

3、释放临时表

DROP TABLE TEMP1 PURGE;  --释放临时表,清除内存,这种的好处是清除数据空空间,坏处是表就没有了,恢复不了,大牛可以用闪回。

楼主以前释放过一个临时表,别人建立的,30万数据,恢复30万数据花了半个晚上,都是血和泪的历史。。。。。。。。。。

4、删除临时表

DELETE FROM TEMP1;  --最常见的删除表,表面上也是没有表了,看不到了,实际后台内存并没有被释放,会占用数据库内存,慎用。

5、给临时表字段建立索引

CREATE INDEX IDX_TEMP1_01 ON TEMP1(ID_1);

CREATE 索引名字 ON 表明(字段名);--好处是查这个临时表速度比较快

仅供学习参考!

 

标签:临时,CREATE,--,TEMP1,Oracle,TABLE,表加
来源: https://www.cnblogs.com/min525/p/15039292.html