teradata delete會釋放空間嗎
阿新 • • 發佈:2019-02-12
系統在下列情況下會使用spool空間: • 在session沒有結束時,每個使用者查詢的返回值。因此,為了儲存查詢的返回值,每個使用者都必須有足夠的spool空間。 • 大表. • Large volatile tables. These tables require more available spool space. 對系統需要的spool空間的粗略估計: 對於沒有fallback,無compression,且工作量適中的系統,spool空間應占系統MAXPERM的30%,或者佔系統CURRENTPERM的40%。 下列情況下需要更多的spool空間: • 高壓縮比的資料需要更多的spool空間。 -- 壓縮可以降低current perm data storage但不是總會降低spool空間,因為spool表並不總是被壓縮。 • 批載入一次可以載入數百萬條或更多的記錄,因此在載入過程中需要spool空間來存放臨時資料。 • 高併發需要更大的spool空間。 下列情況需要較少的spool空間: • Fallback會使用雙倍的currentperm來儲存資料,但不需要雙倍的spool空間。因為只有主拷貝會使用spool空間。 • 適時載入,如運用TPump,一次只加載少量的資料,不需要很多的spool空間。 • 好的調優策略可以運用更少的CPU及spool空間。 Spool空間分類: • Volatile Spool 下列情況下Volatile Spool被釋放: 1、Transaction completes (unless the table was created with ON COMMIT PRESERVE ROW) 2、Table is dropped manually during the session 3、Session ends 4、Teradata Database resets • Intermediate Spool 1、當spool結果不再需要時,Intermediate Spool空間被釋放。 2、可以通過檢視執行計劃來判斷Intermediate Spool空間被釋放的時機。 3、intermediate spool做flush操作後的第一步處理描述為“Last Use” • Output Spool Output results are either: 1、Finalrows returned in the answer set for a query 2、Rows updated within, inserted into, or deleted from a base table Permanent, temporary, 及spool資料塊不能在相同的cylinder中共存