#author("2018-11-26T13:59:22+00:00","default:admin","admin")
#author("2018-11-27T04:54:54+00:00","default:admin","admin")
-[[実行プランを読む – 基本編 (その 1):https://blogs.msdn.microsoft.com/jpsql/2011/09/06/1/]]
-[[実行プランを読む – 基本編 (その 2):https://blogs.msdn.microsoft.com/jpsql/2011/09/14/2/]]
-[[実行プランを読む – 基本編 (その 3):https://blogs.msdn.microsoft.com/jpsql/2011/10/24/3/]]

-[[実行プランのキャッシュと再利用:https://technet.microsoft.com/ja-jp/library/ms181055(v=sql.105).aspx]]

-[[「パラメータースニッフィング」によって、あるタイミングから処理が遅くなった(パフォーマンストラブル):http://www.atmarkit.co.jp/ait/articles/1706/19/news007.html]]

*実行プランの再利用 [#necc4082]
-[[クエリの実行プランを強制する:http://daiyamamoto.hatenablog.com/entry/20080626/p1]]
-[[XML 形式での実行プランの保存:https://docs.microsoft.com/ja-jp/sql/relational-databases/performance/save-an-execution-plan-in-xml-format?view=sql-server-2017]]
-[[USE PLAN クエリ ヒントの使用:https://docs.microsoft.com/ja-jp/previous-versions/sql/sql-server-2008-r2/ms186954(v=sql.105)]]

-SQL Server Management Studioで、クエリを選択して「CTRL+L」で実行プランをビジュアル表示
-この実行プラン上で、右クリック⇒「実行プランのXMLの表示」
-このXMLは、XMLで書かれた実行プランのDump
-クエリ内に '(アポストロフィー)がある場合
--エディタで '(アポストロフィー)を &apos に文字列置換
-クエリの後に「option (use plan N'【実行プランのXML】');」を追記して実行

-実行プランを再利用することで、環境が変わろうがなんだろうが、指定したプラン通りに実行される
-ただし、他のクエリヒント(HASH JOINやLOOP JOIN)などと同様に、オプティマイザが働かなくなる点は注意


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS