2009-07-08 108 views
20

如何使用DB2的Explain函數? - 運行它,並用它來優化查詢。有更好的DB2工具嗎?如何使用DB2 Explain?

我之前已經構建過查詢,但我必須告訴他們需要多長時間的唯一方法是運行它們並計時 - 這很不理想。

編輯: 原來我的答案是「你不行,你沒有,也不能訪問。」你不喜歡官僚主義嗎?

+0

難道你不愛DB2嗎?如果您需要某些表格在安裝過程中不是默認創建的,並且只能由擁有管理員權限的人員創建,只是爲了運行簡單的EXPLAIN,那是非常荒謬的。在MySQL中,所有這些管理都不是必需的。爲什麼付費數據庫比開源軟件更糟糕? – Frans 2017-06-05 11:03:11

回答

18

什麼你要找的是由兩個DB2工具涵蓋:

  1. explain utility,這顯示了優化的訪問計劃,並針對特定的查詢估計成本(基於當前RUNSTATS統計)
  2. design advisor,該建議的結構性變化,以提高一個或多個查詢

兩個實用程序需要專門tables的性能,在數據庫中創建。

我傾向於使用explain工具而不是顧問,特別是如果我能夠更改查詢的SQL以影響更好的訪問計劃。我使用db2expln命令行實用程序來解釋我正在調整的不同版本的查詢,並比較它們的成本。最重要的是,在運行解釋或設計顧問時,表格和索引統計信息是最新的。

3

我總是發現在打開'-g'模式的情況下從命令行運行解釋的可靠性幫助我查明瞭問題。

現在我不記得這些選項了,而且IIRC,db2expln對訂購有點挑剔(即你不能在用戶名後輸入用戶名!!),但它運行良好。

5

DB2EXPLN -database樣品-t -g -f 「SQL查詢」

這對我工作的罰款。

8

IBM提供Data Studio作爲構建在eclipse上的免費工具,其中包含用於運行可視化解釋的GUI,以及通過查詢顧問提供調整幫助。我強烈建議使用Data Studio。

這是比較容易樹立正確的資源(解釋說,需要建立表,而需要做的綁定),右鍵單擊已連接的數據源,並選擇

分析並調諧>配置調諧>引導配置。

enter image description here

生成的解釋圖 - 簡單地突出你的查詢,點擊右鍵,選擇 「打開Visual解釋」:

enter image description here

要使用查詢顧問 ,請選擇「開始調整」。它會帶您通過一個過程,它會生成解釋,並建議它可以確定的任何調整機會。

enter image description here