現在、SQL 70-433(Microsoft認定試験)を勉強していますが、「クエリコスト」パフォーマンスメトリックについて非常に混乱しています。
Googleで見つけたドキュメントによると、クエリコストは割合の数字であり、その一部が占めるバッチ全体の割合を表します。私は特定のクエリの絶対的なメリットに興味があるので、これはすでに少し奇妙に思えました。それは、それと一緒に表示される他のクエリに対するメリットよりもむしろメリットです。
しかし、2つの代替クエリを並べて「バッチ」として実行し、コストが50%未満の方が勝者になることを期待しているのかもしれません。
しかし、MicrosoftのSQL 70-433トレーニングキットのレッスン6の第6章でのクエリコストの議論は、これとは何の関係もないようです。
次に例を示します。2つの相関サブクエリを含むクエリを示し、サブクエリをOUTER APPLYに置き換えることでクエリを改善します。結果:「このクエリのコストは約76ですが、最初のクエリのコストはその2倍、約151です。」その後、クエリをさらに改善し、コストを76から3.6に削減します。これらの数値がパーセンテージであることを意味するのではなく、他のクエリを参照せずに、スタンドアロンオブジェクトとしてのクエリに関連する絶対的な数値であることを意味します。とにかく、最初のクエリのコストを151%にするにはどうすればよいでしょうか?
この章の後半では、3つの部分からなる実行計画のスクリーンショットを示しています。最初の部分は「コスト:0%」、2番目の部分は「コスト:1%」、最後の部分は「コスト:99%」ですが、スクリーンショットの下のテキスト(本自体)は「このクエリのコストは0.56」です。私はそれらが他の種類のコストを意味すると推測していますが、他の場所でそれを参照することはできません。
誰か助けてもらえますか?私は完全に混乱しています。