*はなるべく使用しない

よくテーブルにレコードが何件あるか調べる時に

select count(*)
from tbl;
とします。しかし、パフォーマンスの観点から見ると、*を使用するとパフォーマンスが下がります。
レコード件数を調べる場合は
select count(id)
from tbl;
というようにキー項目などのNOT NULL制約の列を指定してレコード件数を調べます。
もし、idにnull値が許されるとすると、そのレコードはカウントされないため、NOT NULL制約の列を指定する必要があります。

また

select *
from tbl;
も同様にパフォーマンスが下がります。全列を指定する必要がなければ、なるべく必要な列名だけをselect句に指定します。


初版2006/08/05 :最終更新2006/08/05
HOME