- ベストアンサー
SQLのCOUNT(*)について
SQLのCOUNTでよくCOUNT(*)というのを見かけるのですが、 COUNT(ID)などとした場合と比べて、理論上どちらが早い のでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まず、使用する方法が異なると思います。 count(*) の場合には、全件(データがあろうが無かろうが)rowの件数分カウントしてくれます。 count(ID)に関しては、ID列にデータが入っているもの(null以外のデータ)件数をカウントしてくれます。 なので、上記での使い方が異なるのですが、 スピードで考えると、結果に対するカウントなので count(*)の方が早いと思います。(ID列にインデックスを指定しているのであれば、ほぼ互角だと思います) SQLServerで実行計画など見れるか分りませんが、そのようなツールで確認できれば、確実かもしれません。
お礼
ありがとうございます!