1. 程式人生 > 其它 >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 * fromTEMP1 可以查到表;

3、釋放臨時表

DROP TABLE TEMP1 PURGE; --釋放臨時表,清除記憶體,這種的好處是清除資料空空間,壞處是表就沒有了,恢復不了,大牛可以用閃回。

樓主以前釋放過一個臨時表,別人建立的,30萬資料,恢復30萬資料花了半個晚上,都是血和淚的歷史。。。。。。。。。。

4、刪除臨時表

DELETE FROM TEMP1; --最常見的刪除表,表面上也是沒有表了,看不到了,實際後臺記憶體並沒有被釋放,會佔用資料庫記憶體,慎用。

5、給臨時表字段建立索引

CREATE INDEX IDX_TEMP1_01 ON TEMP1(ID_1);

CREATE 索引名字 ON 表明(欄位名);--好處是查這個臨時錶速度比較快

僅供學習參考!