SELECT COUNT(*) の是非 ― 2009/12/11 23:56:44
よく COUNT(*) は遅いと聞きます.
主キーやインデックスの張ってある項目を指定するとパフォーマンスがいい、と.
たとえば主キーもインデックスも外部キーもないテーブルで
全ての項目に NOT NULL 制約がなく
全ての項目が NULLであるレコードが1つあったとして
SELECT COUNT(項目名) FROM ○○
とすると、0が返ります.
COUNT(*) とすると1が返ります.
まぁあれですよ.
よく考えろ、ということですな.
主キーやインデックスの張ってある項目を指定するとパフォーマンスがいい、と.
たとえば主キーもインデックスも外部キーもないテーブルで
全ての項目に NOT NULL 制約がなく
全ての項目が NULLであるレコードが1つあったとして
SELECT COUNT(項目名) FROM ○○
とすると、0が返ります.
COUNT(*) とすると1が返ります.
まぁあれですよ.
よく考えろ、ということですな.
最近のコメント