PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Index pour obtenir le nombre de lignes de la table PostgreSQL en lecture seule (immuable) ?

Malheureusement, dans postgresql SELECT COUNT(*) est souvent plus lent que mysql auquel il est souvent comparé.

Vous pouvez utiliser la requête suivante comme alternative à SELECT COUNT(*).

 SELECT reltuples FROM pg_class WHERE relname = 'mytable';

Ce n'est pas toujours à jour à 100% mais pour les tables immuables, il sera précis à chaque fois. Et instantané. Pour les très grandes tables, le pourcentage d'erreur sera très faible et vaut donc bien le gain de temps considérable.

Si cela importe et que la table ne contient pas de valeurs nulles, vous pouvez utiliser

 SELECT COUNT(primary_key_column) FROM table

et ce sera beaucoup plus rapide que SELECT COUNT(*)