2011年12月5日月曜日

空テーブル判定 (SQL)

テーブルが空であるかどうかの判定 (SQL)

これまでは select count(*) from foo でテーブルの行数自体を調べていたが、行数が多い、あるいは空判定の頻度が高いとコストが高くなる。単に空を判定したいのであれば,

select count(*) from (select * from foo limit 1) as foo_zero

でシーケンシャルスキャンしないで判定することができる。

SQL は触れる機会が少ないのでなかなか苦手意識が抜けないな...

0 件のコメント:

コメントを投稿