今回は、いつも実行計画を取得する際に目にする「コスト」について気になりましたので調べてみました。
以下のように赤枠で囲っているところに、色々なコストの情報が出力されています。実際にこの情報をどのように受け止めれば良いか分からなかったので今回この記事を書いてみました。
結論から言えば、このコストから具体的な処理時間やその負荷などを把握することはできない。また、複数の環境で比較するための値としても使用できない。そのため、あくまでも参照値という位置づけのようです。
また、このコストは推定実行プランから算出されているため実際の処理コストとは異なることがあるということを念頭に置いておく必要があるということです。
結果として、まったく意味がない値なのかというとそうでもなくて、クエリ内でのボトルネックを把握するためには使用できるみたいなので、上手に使いこなしていきたいと思いました。
以下のブログ記事をとても参考にさせていただきました。
SQL Server のクエリ実行プランのコスト値について at SE の雑記