こちらのページでたまたま見つけたんですが、count 関数に渡した列名によって返す値が変わったりしたんですね。
例えば、
- SELECT COUNT(DEPT_NO) FROM USER_MASTER
- SELECT COUNT(*) FROM USER_MASTER
とした場合、(1)では指定した列(DEPT_NO)に「NULL」が含まれている行はカウントされずに数を返します。(2)の場合は基本的に select した全ての行の数を返します(すべての列の値が NULL だったときはわかりません(^^;))。
いくら(1)の方が早いからといって適当な列を指定してしまうと、後で痛い目を見るってことですね。(NULL 許容不可の列を指定すべきってことです)