本章討論Teradata中性能調(diào)整的過程。
解釋
性能調(diào)整的第一步是在查詢中使用EXPLAIN。 EXPLAIN計劃提供優(yōu)化程序如何執(zhí)行查詢的詳細信息。在解釋計劃中,檢查關鍵字,如置信度級別,使用的連接策略,假脫機文件大小,重新分配等。
收集統(tǒng)計數(shù)據(jù)
優(yōu)化程序使用數(shù)據(jù)受眾特征來制定有效的執(zhí)行策略。 COLLECT STATISTICS命令用于收集表的數(shù)據(jù)人口統(tǒng)計。確保在列上收集的統(tǒng)計數(shù)據(jù)是最新的。
收集在WHERE子句中使用的列以及在連接條件中使用的列上的統(tǒng)計信息。
收集唯一主索引列的統(tǒng)計信息。
收集非唯一二級索引列的統(tǒng)計信息。優(yōu)化器將決定是否可以使用NUSI或全表掃描。
收集關于聯(lián)接索引的統(tǒng)計信息,盡管收集了基表上的統(tǒng)計信息。
收集分區(qū)列上的統(tǒng)計信息。
Data Types
確保使用正確的數(shù)據(jù)類型。這將避免使用超過所需的過量存儲。
Conversion
確保連接條件中使用的列的數(shù)據(jù)類型兼容,以避免顯式數(shù)據(jù)轉(zhuǎn)換。
Sort
刪除不必要的ORDER BY子句,除非必需。
Spool Space Issue
如果查詢超過該用戶的每個AMP卷軸空間限制,則會生成假脫機空間錯誤。 驗證解釋計劃并識別占用更多假脫機空間的步驟。 這些中間查詢可以拆分并單獨放置以構(gòu)建臨時表。
Primary Index
確保為表正確定義了主索引。主索引列應均勻分布數(shù)據(jù),應經(jīng)常用于訪問數(shù)據(jù)。
SET Table
如果定義了SET表,那么優(yōu)化器將檢查記錄是否與插入的每個記錄重復。要刪除重復檢查條件,可以為表定義唯一輔助索引。
UPDATE on Large Table
更新大表將是耗時的。您可以刪除記錄,并插入帶有修改行的記錄,而不是更新表。
Dropping Temporary Tables
刪除臨時表(臨時表)和揮發(fā)性(如果不再需要它們)。這將釋放永久空間和假脫機空間。
MULTISET Table
如果確定輸入記錄不具有重復記錄,則可以將目標表定義為MULTISET表,以避免SET表使用重復行檢查。
更多建議: