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 表明(字段名);--好處是查這個臨時表速度比較快

僅供學習參考!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM