PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Índice para obter a contagem de linhas da tabela PostgreSQL somente leitura (imutável)?


Infelizmente, no postgresql SELECT COUNT(*) geralmente é mais lento que o mysql com o qual muitas vezes é comparado.

Você pode usar a seguinte consulta como alternativa a SELECT COUNT(*).
 SELECT reltuples FROM pg_class WHERE relname = 'mytable';

Isso nem sempre é 100% atualizado, mas para tabelas imutáveis, será sempre preciso. E instantâneo. Para tabelas muito grandes, o erro percentual será muito pequeno e, portanto, valerá a pena a enorme economia de tempo.

Se isso importa e a tabela não contém nulos, você pode usar
 SELECT COUNT(primary_key_column) FROM table

e isso será significativamente mais rápido que SELECT COUNT(*)