informix 臨時表空間

2021-05-22 08:04:05 字數 1562 閱讀 9315

informix臨時表空間

在 informix 資料庫中,我們經常會建立一些臨時表來處理應用中的臨時資訊。系統可以採用如下兩種方式建立臨時表:

使用 select into temp 語句隱含地建立臨時表

使用 create temp table 語句顯示地建立臨時表

如果資料庫採用非日誌模式,dbspacetemp 環境變數或配置引數設定後,臨時表會自動建立在由 dbspacetemp 環境變數或配置引數指定的資料空間上;如果資料庫採用日誌模式,那麼建立      的臨時表預設情況下是記日誌的,不會被建立在由 dbspacetemp 環境變數或配置引數指定的資料空間上,那麼由 select ... into temp 語句建立的臨時表將被建立在根資料空間(root           dbspace)上,由 create temp table 語句建立的臨時表將被建立在資料庫所在的資料空間上。如果希望臨時表建立在由 dbspacetemp 環境變數或配置引數指定的資料空間上,我們需要使用       select into temp with no log 語句或 create temp table with no log 語句來建立臨時表。

臨時表按照如下優先順序建立在相應的資料空間上:

由 dbspacetemp 環境變數指定的資料空間

由 dbspacetemp 配置引數指定的資料空間

如果設定了 dbspacetemp 環境變數,那麼臨時表會建立在由 dbspacetemp 環境變數指定的資料空間上,如果沒有設定 dbspacetemp 環境變數,那麼臨時表會建立在由 dbspacetempp 配        置引數指定的資料空間上。

出於效能考慮,一般我們建議在多個物理磁碟上建立多個臨時表空間,這樣,當建立臨時表時,它會分片到所有臨時表空間上,提高併發處理效率。

在採用日誌模式的資料庫中,對臨時表的所有 dml 操作都要記日誌,而且不加 with no log 選項,臨時表不會建立在由 dbspacetemp 環境變數或配置引數指定的臨時資料空間上,往往        資料會寫到根資料空間(root dbspace)上,影響系統效能,而且使用者在建立臨時表時,往往總是忘記 with no log 選項。為了解決上述問題,informix 11 版本開始提供了關閉對臨時表記       日誌的方法,這樣,建臨時表時,即使沒加 with no log 選項,臨時表也會建立在由 dbspacetemp 環境變數或配置引數指定的臨時資料空間上。

我們可以採用下述兩種方法來關閉對臨時表記日誌:

修改 onconfig 配置引數         temptab_nolog 1

通過 onmode 命令動態改變

onmode -wf "temptab_nolog =1" 

onmode -wm "temptab_nolog =1"

其中,-wm 選項改變引數值後立即生效; -wf 選項改變引數值後立即生效,同時將新的引數值寫到 onconfig 配置檔案中。

使用 temptab_nolog 引數來禁用臨時表上的日誌記錄。該引數可以改進應用程式的效能,尤其是在有 hdr 輔助伺服器、rs 輔助伺服器或 sd 輔助伺服器的資料複製環境中,因為其防止         informix 通過網路傳輸臨時表。

臨時表空間

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

Oracle臨時表空間

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

建立臨時表空間

語法 create table albums artist char 30 album name char 50 media type int go該錶也可以使用下邊的命令來手動刪除 drop table albums go當使用者退出sql server 時該表也可以被自動地刪除如果你是在自態sq...