web-dev-qa-db-ja.com

ガバナーのコスト制限と時間の関係を照会する

Technet に基づいて、クエリガバナー_Cost Limit_は_estimated elapsed time, in seconds_を参照します。これはこれを満たしています Microsoft SQL Server 2008管理者のポケットコンサルタントからの抜粋 本。

本を読む Microsoft SQL Server 2012 Unleashed、30ページと31ページ 、_cost limit_は_proportional to the estimated time_であり、係数(K)を適用して、システムの詳細なので、K x time(s)になります。

さて、 この(やや古い)記事 を取ると、コスト制限と時間の関係を確立することはできないように感じます。

現実の世界では、いくつかのまれな例外にもかかわらず、2番目のアプローチを経験則として採用できると言えますか?

2
JoseTeixeira

SQL Server内部からのメモに基づく(Kalen Delaneyによる)...以下は私の理解です

クエリガバナーのコスト制限は最大数です。クエリを実行できる秒数。

だから、本質的に:

  • ゼロ以外または負の値は、その値を超える推定コストを持つクエリの実行を許可しません。
  • デフォルトのゼロ-クエリガバナーをオフにし、すべてのクエリを時間制限なしで実行できるようにします。

秒に設定された値はクロックベースではないことに注意してください。これは、製品開発中に使用される特定のハードウェア構成の秒数に対応し、実際の制限はマシン上でより高い場合とより低い場合があります。

また、Query Governor Cost limitを変更すると、プランキャッシュ全体がフラッシュされ、後で新しいプランが生成されることに注意してください。

2
Kin Shah