• ベストアンサー

SQLのCOUNT(*)について

SQLのCOUNTでよくCOUNT(*)というのを見かけるのですが、 COUNT(ID)などとした場合と比べて、理論上どちらが早い のでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まず、使用する方法が異なると思います。 count(*) の場合には、全件(データがあろうが無かろうが)rowの件数分カウントしてくれます。 count(ID)に関しては、ID列にデータが入っているもの(null以外のデータ)件数をカウントしてくれます。 なので、上記での使い方が異なるのですが、 スピードで考えると、結果に対するカウントなので count(*)の方が早いと思います。(ID列にインデックスを指定しているのであれば、ほぼ互角だと思います) SQLServerで実行計画など見れるか分りませんが、そのようなツールで確認できれば、確実かもしれません。

nihon_no_samurai
質問者

お礼

ありがとうございます!

関連するQ&A