残念ながら、postgresqlではSELECT COUNT(*)はmysqlより遅い よく比較されます。
SELECT COUNT(*)の代わりに次のクエリを使用できます。
SELECT reltuples FROM pg_class WHERE relname = 'mytable';
これは常に100%最新であるとは限りませんが、不変のテーブルの場合は毎回正確になります。そして瞬時に。非常に大きなテーブルの場合、パーセンテージエラーは非常に小さいため、時間を大幅に節約する価値があります。
重要であり、テーブルにnullが含まれていない場合は、
を使用できます。 SELECT COUNT(primary_key_column) FROM table
これはSELECTCOUNT(*)
よりも大幅に高速になります