本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
STL_ALERT_EVENT_LOG
當查詢最佳化器識別可能表示效能問題的狀況時,請記錄一個提醒。使用 STL_ALERT_EVENT_LOG 檢視來識別改善查詢效能的機會。
查詢包含多個區段,每個區段包含一或多個步驟。如需詳細資訊,請參閱查詢處理。
STL所有使用者都可看見 _ALERT_EVENT_LOG。超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱系統資料表和檢視中資料的可見性。
注意
STL_ALERT_EVENT_LOG 僅包含主叢集上執行的查詢。但不包含在並行擴縮叢集上執行的查詢。若要存取在主要和並行擴展叢集上執行的查詢,建議您使用SYS監控檢視 SYS_QUERY_DETAIL 。SYS 監控檢視中的資料已格式化,以便於使用和理解。
資料表欄
欄名稱 | 資料類型 | 描述 |
---|---|---|
userid | integer | 產生項目的使用者之 ID。 |
query | integer | 查詢 ID。查詢欄可用於加入其他系統表格與檢視。 |
分割 | integer | 識別執行查詢之配量的數字。 |
segment | integer | 識別查詢區段的號碼。 |
step | integer | 執行的查詢步驟。 |
pid | integer | 與陳述式和配量相關聯的處理程序 ID。PIDs 如果相同的查詢在多個切片上執行,則可能有多個查詢。 |
xid | bigint | 與陳述式關聯的交易 ID。 |
事件 | character(1024) | 提醒事件的說明。 |
solution | character(1024) | 建議的解決方案。 |
event_time | timestamp | UTC 查詢開始的時間。總時間包括佇列和執行。秒小數部分的精確度為 6 位元。例如:2009-06-12 11:29:19.131358 。 |
使用須知
您可以使用 STL_ALERT_EVENT_LOG 來識別查詢中的潛在問題,然後遵循 中的實務查詢效能調校來最佳化資料庫設計並重新寫入查詢。STL_ALERT_EVENT_LOG 會記錄下列提醒:
-
找不到統計資訊
找不到統計資訊。執行ANALYZE下列資料載入或重大更新,並STATUPDATE搭配 COPY 操作使用。如需詳細資訊,請參閱設計查詢的 Amazon Redshift 最佳實務。
-
巢狀迴圈
巢狀迴路通常是 Cartesian 產品。評估您的查詢,以確保所有參與資料表均已有效聯結。
-
選擇性相當高的篩選條件
傳回的資料列與已掃描資料列的比率低於 0.05。已掃描列是
rows_pre_user_filter
的值,而傳回的列則是 STL_SCAN 系統檢視中的列值。表示查詢正在掃描例外狀況大量的資料列來決定結果集。這可能是由於找不到排序索引鍵或其不正確所致。如需詳細資訊,請參閱排序金鑰。 -
過多的幽靈資料列
掃描已略過相當多標示為已刪除但未清空的資料列,或已插入但未遞交的資料列。如需詳細資訊,請參閱清空資料表。
-
大型分佈
已重新配送超過 1,000,000 個資料列,進行雜湊聯結或彙整。如需詳細資訊,請參閱查詢最佳化的資料分佈。
-
大型廣播
已播送超過 1,000,000 個資料列,進行雜湊聯結。如需詳細資訊,請參閱查詢最佳化的資料分佈。
-
序列執行
DS_DIST_ALL_INNER 重新分發樣式在查詢計劃中表示,這會強制序列執行,因為整個內部資料表已重新分發至單一節點。如需詳細資訊,請參閱查詢最佳化的資料分佈。
範例查詢
下列查詢顯示四個查詢的提醒事件。
SELECT query, substring(event,0,25) as event, substring(solution,0,25) as solution, trim(event_time) as event_time from stl_alert_event_log order by query; query | event | solution | event_time -------+-------------------------------+------------------------------+--------------------- 6567 | Missing query planner statist | Run the ANALYZE command | 2014-01-03 18:20:58 7450 | Scanned a large number of del | Run the VACUUM command to rec| 2014-01-03 21:19:31 8406 | Nested Loop Join in the query | Review the join predicates to| 2014-01-04 00:34:22 29512 | Very selective query filter:r | Review the choice of sort key| 2014-01-06 22:00:00 (4 rows)