本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
分析查詢計劃
執行 EXPLAIN 命令來取得查詢計畫。
分析查詢計畫之前,您應該熟悉如何閱讀它。如果您對於閱讀查詢計畫不熟悉,建議您閱讀建立和解譯查詢計劃之後再繼續。
若要分析查詢計畫提供的資料,請遵循這些步驟:
-
識別具有最高成本的步驟。繼續進行其餘步驟時,請專注在那些。
-
查看聯結類型:
-
注意哪個資料表用於內部聯結,以及哪個用於外部聯結。查詢引擎一般會對內部聯結選擇較小的資料表,以及對外部聯結選擇較大的資料表。如果這類選擇未發生,那麼,您的統計資料很可能過時。如需建議的解決方案,請參閱資料表統計資訊遺漏或過時。
-
查看是否有任何高成本的排序操作。如果有,請參閱未排序或排序錯誤的資料列以取得建議的解決方案。
-
尋找具有高成本操作的下列播送運算子:
-
DS_BCAST_INNER:表示資料表已廣播至所有運算節點。這對於小資料表來說很好,但對於較大的資料表來說並不理想。
-
DS_DISTALL_INNER:表示所有工作負載都在單一切片上。
-
DS_DIST_BOTH:表示大量重新分發。
如需這些情況的建議解決方案,請參閱次佳資料分佈。
-