臨時表空間的日常使用

2021-06-05 19:46:56 字數 790 閱讀 1706

1、臨時表空間的作用:

臨時表空間主要用途是在資料庫進行排序運算、管理索引、訪問檢視等操作時提供臨時的運算空間,當運算完成之後系統會自動清理。

當臨時表空間不足時,表現為運算速度異常的慢,並且臨時表空間迅速增長到最大空間(擴充套件的極限),並且一般不會自動清理了。

2、迅速增長的原因:

一般原因是sql

演算法不正確,可能導致出現了迪卡爾積。

另外乙個原因是檢視的建立問題(本人遇到的正是該問題!)。oracle資料庫中多張表聯合查詢時,極限的表單數量為4張,一般將以為3張!有時需要大於4張表聯合查詢時,怎麼辦呢?可以建立子檢視:

如view0(聯合table0,table1,table2),view1(聯合table0,table3,table4),view2(聯合table0,table5,table6)

然後將view0、view1、view2聯合成view。

這樣可以解決臨時表空間迅速增長的問題!

臨時表空間使用注意:

1.臨時表空間 是用於在進行排序操作(如大型查詢,建立索引和聯合查詢期間儲存臨時資料)

每個使用者都有乙個臨時表空間

2.對於大型操作頻繁,(大型查詢,大型分類查詢,大型統計分析等),應指定單獨的臨時表空間,以方便管理

3.分配使用者單獨臨時表空間,一般是針對 大型產品資料庫,oltp資料庫,資料庫倉庫

對於小型產品不需要單獨制定臨時表空間,使用預設臨時表空間

注:如果臨時表空間異常增漲很快,則要考慮是否應用的sql語句產生了笛卡兒積,可以通過stactpack 進行分析查出問題所在,從而保證資料庫的正常執行

臨時表空間

臨時表空間 1.什麼是臨時表空間 在oracle資料庫中進行排序 分組彙總 索引等到作時,會產生很多的臨時資料。如有一張員工資訊表,資料庫中是安裝記錄建立的時間來儲存的。如果使用者查詢時,使用order by排序語句指定按員工編號來排序,那麼排序後產生的所有記錄就是臨時資料。對於這些臨時資料,ora...

Oracle臨時表空間

oracle臨時表空間主要是用來做查詢和存放一些快取的資料的,磁碟消耗的乙個主要原因是需要對查詢的結果進行排序,如果沒有猜錯的話,在磁碟空間的 記憶體 的分配上,oracle使用的是貪心演算法,如果上次磁碟空間消耗達到1gb,那麼臨時表空間就是1gb,如果還有增長,那麼依此類推,臨時表空間始終保持在...

informix 臨時表空間

informix臨時表空間 在 informix 資料庫中,我們經常會建立一些臨時表來處理應用中的臨時資訊。系統可以採用如下兩種方式建立臨時表 使用 select into temp 語句隱含地建立臨時表 使用 create temp table 語句顯示地建立臨時表 如果資料庫採用非日誌模式,db...