Posted on 2009-07-23 23:56
Prayer 閱讀(1576)
評論(0) 編輯 收藏 引用 所屬分類:
DB2
db2advis 是 DB2 提供的另外一種非常有用的命令。通過該命令 DB2 可以根據優化器的配置以及機器性能給出提高查詢性能的建議。這種建議主要集中于如何創建索引,這些索引可以降低多少查詢代價,需要創建哪些表或者 Materialized Query Table(MQT) 等。命令如清單 3 所示:
清單 3. db2advis 命令
db2advis -d <db_name> -a <user>/<password> -i <sql.file> -o <output>
Example: db2advis -d test_db -a user/password
-i D:\temp\sql_2.txt > D:\temp\sql_2_result_db2advis.txt
Query:
sql_2.txt(附件中)
Results:
sql_2_result_db2advis.txt(附件中)
|
通過 -i 指定的 SQL 文件可以包含多個查詢,但是查詢必須以分號分隔。這與 db2expln 命令不同,db2expln 可以通過 -z 參數指定多個查詢之間的分隔符。用戶可以把某一個 workload 中所使用的所有查詢寫入 SQL 文件中,并在每個查詢之前使用”--#SET FREQUENCY <num>”為其指定在這個 workload 中的執行頻率。db2advis 會根據每個查詢在這個 workload 的頻率指數進行權衡來給出索引的創建建議,從而達到整個 workload 的性能最優。