檢閱查詢提醒 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

檢閱查詢提醒

若要使用STL_ALERT_EVENT_LOG系統資料表來識別和更正您的查詢的潛在效能問題,請遵循這些步驟:

  1. 執行下列動作來判斷您的查詢 ID:

    select query, elapsed, substring from svl_qlog order by query desc limit 5;

    substring 欄位中檢查截斷的查詢文字,判斷要選取的 query 值。如果您已執行查詢超過一次,請使用來自具有較低 query 值資料列的 elapsed 值。那是編譯版本的資料列。如果您正在執行許多查詢,您可以提高用於確保查詢包含的LIMIT子句所使用的值。

  2. 從 STL_ALERT_EVENT_LOG 選取查詢的資料列:

    Select * from stl_alert_event_log where query = MyQueryID;
    來自 STL_ALERT_EVENT_ 的範例查詢結果LOG。
  3. 評估您的查詢的結果。使用下表來找出任何遇到問題的潛在解決方案。

    注意

    並非所有查詢都有 STL_ALERT_EVENT_ 中的資料列LOG,只有已識別問題的資料列。

    問題 事件值 解決方案值 建議的解決方案
    查詢中資料表的統計資料遺漏或過時。 遺漏查詢規劃器統計資料 執行 ANALYZE 命令 請參閱 資料表統計資訊遺漏或過時
    查詢計畫中有巢狀迴路聯結 (最差的最佳聯結)。 查詢計畫中的巢狀迴路聯結 檢閱聯結述詞以避免笛卡兒乘積 請參閱 巢狀迴圈
    掃描已略過相當多標示為已刪除但未清空的資料列,或已插入但未遞交的資料列。 已掃描大量刪除的資料列 執行 VACUUM命令以回收已刪除的空間 請參閱 幽靈資料列或未遞交的資料列
    已針對雜湊聯結或彙整重新配送超過 1,000,000 個資料列。 在整個網路中分發大量資料列:RowCount 資料列已分發,以便處理彙總 檢閱散發索引鍵的選擇以共置聯結或彙整 請參閱 次佳資料分佈
    已針對雜湊聯結播送超過 1,000,000 個資料列。 在網路間播送大量資料列 檢閱散發索引鍵的選擇以共置聯結或並考慮使用配送資料表 請參閱 次佳資料分佈
    DS_DIST_ALL_INNER 重新分發樣式在查詢計劃中表示,這會強制序列執行,因為整個內部資料表已重新分發至單一節點。 DS_DIST_ALL_INNER for Hash 在查詢計劃中加入 檢閱配送策略的選擇,以配送內部而非外部資料表 請參閱 次佳資料分佈