PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Index zum Abrufen der Zeilenanzahl der schreibgeschützten (unveränderlichen) PostgreSQL-Tabelle?

Leider ist SELECT COUNT(*) in Postgresql oft langsamer als mysql mit denen es oft verglichen wird.

Sie können die folgende Abfrage als Alternative zu SELECT COUNT(*) verwenden.

 SELECT reltuples FROM pg_class WHERE relname = 'mytable';

Dies ist nicht immer 100 % aktuell, aber für unveränderliche Tabellen wird es jedes Mal genau sein. Und sofort. Bei sehr großen Tabellen ist der prozentuale Fehler sehr klein und somit die massive Zeitersparnis wert.

Wenn es darauf ankommt und die Tabelle keine Nullen enthält, können Sie

verwenden
 SELECT COUNT(primary_key_column) FROM table

und dies ist erheblich schneller als SELECT COUNT(*)