1

別の質問では、SQL Server のクエリ プラン キャッシュを制御する方法を調査しようとしていました。

https://stackoverflow.com/questions/2593749/is-there-an-equivalent-of-optionrecompile-or-with-recompile-for-an-entire-c

...そして、この記事でトレース フラグ 253 を見つけました。

http://www.sqlservercentral.com/Forums/Topic837613-146-1.aspx

記事は正しいです。DBCC TRACEON(253) を実行してからいくつかのクエリを実行すると、クエリ プラン キャッシュを手動でチェックして、プランが挿入されていないことがわかります。DBCC TRACEOFF(253) を実行すると、クエリ プランは通常どおりキャッシュされます。

だから私の質問は...このフラグは他に何をしますか? 公式ストーリーを知っている人はいますか?

4

1 に答える 1

1

あなたが言うように、Jon Seigels のコメントで言及されているように、それは:

アドホック クエリ プランがキャッシュに残るのを防ぎます。

他に何もすべきではありません。ただし、ここでもトレース フラグについて説明されているように、一般的には次のようになります。

トレース フラグを使用すると、データベース エンジンは代替コード パスを実行します。これらのコード パスは厳密にテストされていないか、特定の目的があり、予測できない副作用を伴う可能性があります。

これは、製品チームのメンバーから聞いたと主張する MVP からの情報であることを考えると、公式のように見えます。特に、MSDN に関する Microsoft 独自のドキュメントには、ネット上で見つけることができるすべてのトレース フラグが含まれているわけではありません。Jon Seigels のコメントのリンクのように。

于 2011-07-06T11:39:57.163 に答える