何か便利だと思うことやれば、何か不都合なことおきるよね...と思って記事書いてみた
本日は諸事情により、会社をお休みしております。少し時間があるので、どうしたもんかなと思ったことを綴りたいと思います。下図は、ある環境でパラメータ化強制した場合としていない場合の実行プランの内容です。パラメータ化強制した場合、推定行数が実際の行数と大きく乖離しているのがわかるかと思います。
- パラメータ化:強制(PARAMETERIZATION FORCED)
推定行数と実際の行数が大きく乖離しています。
- パラメータ化:単純(PARAMETERIZATION SIMPLE)
推定行数と実際の行数の乖離がありません。
パラメータ化強制した場合、統計情報のヒストグラムを参照していないようですね。データベース全体をパラメータ化強制している状態で、このような現象が発生した場合どうしたらよいか?プランガイドになっちゃうんですかね。プランガイドは下記のようなスクリプトで対応することができます。PARAMETERIZATION を SIMPLE に指定しています。
DECLARE @stmt NVARCHAR(MAX) DECLARE @params NVARCHAR(MAX) EXEC sp_get_query_template N'<SQL Statement を指定>', @stmt OUTPUT, @params OUTPUT; EXEC sp_create_plan_guide N'TemplateGuide1', @stmt, N'TEMPLATE', NULL, @params, N'OPTION(PARAMETERIZATION SIMPLE)';
けど、業務アプリケーションのクエリにプランガイドを適用するって....Where句の条件に数十パターンとか存在する場合、保守するの大変ですね。うーん、どうしたものか。過去にプランガイドに触れてましたね。ryuchan.hatenablog.com
ryuchan.hatenablog.com
※勉強会向けに買っておこう。カスタマーレビューを見ると、Lenovoとの相性がよさそうだった。amazon ポイント使って、1,300円くらい。
PC モニタ対応 HDMI to VGA変換アダプタ〔白〕〔バスパワー(AC電源不要)〕[Vodaview製品]
- 出版社/メーカー: vodaview
- メディア: エレクトロニクス
- この商品を含むブログ (1件) を見る
※少し前に買ってみた。立ってプレゼンするには便利ですね。
コクヨ パワポ操作用 フィンガープレゼンター 黒曜石 ELA-FP1
- 出版社/メーカー: コクヨ
- 発売日: 2013/06/12
- メディア: オフィス用品
- この商品を含むブログ (3件) を見る