oracle臨時表
臨時表建立在全域性上,所有會話都可以訪問,但其中的行資料是被插入行的會話所持有的,開發人員可將它們做為私有儲存區來操縱資料,不同使用者只能操縱自己的行資料,誰都看不到其他人的行。
臨時表的建立語法如下:
create global temporary table <temp_table_name>
(column datatype[, column datatype])
[on commit {delete | preserve} rows];
末尾的可選子句確定了插入行的生命週期。預設方式是在插入行的事務完成之時,刪除相應的行。但也可以改變此行為,以便將行資料保留到插入行的會話結束為止。
臨時表不支援主外來鍵關係。臨時表上也不會有DML鎖,因為臨時表資料是被會話私有的。可以為臨時表建立索引、約束和觸發器,可以在檢視和同義詞中引用它,可以與其他錶連結。臨時表的資料是臨時的,專用於相應的會話,針對其執行的所有SQL的速度遠比在永久表上快。
臨時表操作速度快的原因有以下幾點:
1、臨時表不是永久表空間中的段,理想狀態下,它們僅存在於使用它們的會話的PGA中,因此不涉及磁碟活動,甚至不涉及資料庫緩衝區快取的活動。
2、如果PGA無法容納臨時表,則將資料寫出到臨時表空間的臨時段中。而臨時表空間上的I/O遠比永久表空間上的I/O速度快,因為前者不涉及資料庫緩衝區快取,而全部由會話的伺服器程式直接在磁碟上執行。
3、針對臨時表的DML幾乎不生成重做資料,這使得其DML操作更快。
臨時表的應用場景如在一個會話中將查詢到的記錄存放在臨時表中,以便可以重複呼叫,當會話斷開時,資料自動清空。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2145921/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 臨時表Oracle
- ORACLE臨時表和SQLSERVER臨時表異同OracleSQLServer
- Oracle的臨時表Oracle
- Oracle Temporary Tables(Oracle 臨時表)Oracle
- oracle 臨時表的使用Oracle
- ORACLE臨時表總結Oracle
- Oracle全域性臨時表Oracle
- oracle 臨時表空間Oracle
- oracle臨時表空間Oracle
- oracle臨時表的用法Oracle
- Oracle 臨時表空間概念Oracle
- oracle臨時表空間組Oracle
- Oracle臨時表GLOBAL TEMPORARY TABLEOracle
- oracle的臨時表空間Oracle
- Oracle Temp 臨時表空間Oracle
- oracle臨時表的用法(轉)Oracle
- Oracle 基礎 ----臨時表和物件表Oracle物件
- Oracle臨時表使用注意事項Oracle
- oracle臨時表空間相關Oracle
- oracle全域性臨時表的特性Oracle
- Oracle TEMP臨時表空間概念Oracle
- Oracle 臨時表空間的概念Oracle
- oracle臨時表實際應用Oracle
- ORACLE臨時表空間總結Oracle
- oracle 重建臨時表空間 tempfileOracle
- 刪掉Oracle臨時表空間Oracle
- oracle 臨時表間重建的方法Oracle
- oracle臨時表的用法總結Oracle
- 27、oracle的臨時表問題Oracle
- ORACLE臨時表空間的清理Oracle
- Oracle 臨時表 OracleDataAdapter 批次更新OracleAPT
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- Oracle臨時表的用法總結FLOracle
- Oracle資料庫開發——臨時表Oracle資料庫
- Oracle Temp臨時表空間處理Oracle
- ORACLE預設的臨時表空間Oracle
- oracle的臨時表空間temporary tablespaceOracle
- goldengate對oracle臨時表的同步GoOracle