- Teradata 教程
- Teradata - 首頁
- Teradata 基礎
- Teradata - 簡介
- Teradata - 安裝
- Teradata - 架構
- Teradata - 關係型概念
- Teradata - 資料型別
- Teradata - 表
- Teradata - 資料操作
- Teradata - SELECT 語句
- 邏輯與條件運算子
- Teradata - 集合運算子
- Teradata - 字串操作
- Teradata - 日期/時間函式
- Teradata - 內建函式
- Teradata - 聚合函式
- Teradata - CASE 和 COALESCE
- Teradata - 主索引
- Teradata - 連線
- Teradata - 子查詢
- Teradata 高階
- Teradata - 表型別
- Teradata - 空間概念
- Teradata - 次索引
- Teradata - 統計資訊
- Teradata - 壓縮
- Teradata - EXPLAIN
- Teradata - 雜湊演算法
- Teradata - 連線索引
- Teradata - 檢視
- Teradata - 宏
- Teradata - 儲存過程
- Teradata - 連線策略
- Teradata - 分割槽主索引
- Teradata - OLAP 函式
- Teradata - 資料保護
- Teradata - 使用者管理
- Teradata - 效能調優
- Teradata - FastLoad
- Teradata - MultiLoad
- Teradata - FastExport
- Teradata - BTEQ
- Teradata 有用資源
- Teradata - 問答
- Teradata - 快速指南
- Teradata - 有用資源
- Teradata - 討論
Teradata - 效能調優
本章討論Teradata中效能調優的過程。
EXPLAIN
效能調優的第一步是在您的查詢中使用EXPLAIN。EXPLAIN計劃詳細說明了最佳化器將如何執行您的查詢。在EXPLAIN計劃中,檢查諸如置信度級別、使用的連線策略、臨時檔案大小、重新分配等關鍵詞。
收集統計資訊
最佳化器使用資料統計資訊來制定有效的執行策略。COLLECT STATISTICS命令用於收集表的統計資訊。確保收集的列的統計資訊是最新的。
收集在WHERE子句中使用的列以及在連線條件中使用的列的統計資訊。
收集唯一主鍵列的統計資訊。
收集非唯一二級索引列的統計資訊。最佳化器將決定是否可以使用NUSI或全表掃描。
雖然收集了基表的統計資訊,但也要收集連線索引的統計資訊。
收集分割槽列的統計資訊。
資料型別
確保使用了正確的資料型別。這將避免使用超過所需儲存空間。
轉換
確保在連線條件中使用的列的資料型別相容,以避免顯式資料轉換。
排序
除非需要,否則刪除不必要的ORDER BY子句。
臨時空間問題
如果查詢超過該使用者的每個AMP臨時空間限制,則會生成臨時空間錯誤。驗證EXPLAIN計劃並確定消耗更多臨時空間的步驟。這些中間查詢可以拆分並分別放入以構建臨時表。
主索引
確保為表正確定義了主索引。主索引列應均勻分佈資料,並且應經常用於訪問資料。
SET表
如果定義SET表,則最佳化器將檢查是否為插入的每個記錄都重複了記錄。要刪除重複檢查條件,可以為表定義唯一二級索引。
更新大型表
更新大型表將非常耗時。與其更新表,不如刪除記錄並插入包含修改行的記錄。
刪除臨時表
如果不再需要臨時表(暫存表)和易失表,則將其刪除。這將釋放永久空間和臨時空間。
MULTISET表
如果您確定輸入記錄不會有重複記錄,則可以將目標表定義為MULTISET表,以避免SET表使用的重複行檢查。
廣告