PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Perché PostgreSQL (9.1) non utilizza l'indice per la semplice selezione dell'uguaglianza?

Per risolvere questi problemi, è fondamentale eseguire VACUUM ANALYZE sulla tabella tra i passaggi di risoluzione dei problemi per vedere cosa funziona. Altrimenti potresti non sapere esattamente cosa è cambiato dove. Quindi provalo ed esegui di nuovo prima e vedi se risolve il problema.

I passaggi successivi da eseguire (eseguire l'analisi del vuoto e un test case tra ciascuno di essi) sono:

ALTER TABLE lead ALTER COLUMN email SET STATISTICS 1000;

Forse questo risolverà il problema. Forse no.

Se ciò non risolve il problema, dai un'occhiata da vicino alla vista pg_stat:

SELECT * FROM pg_stat WHERE table_name = 'lead';

Si prega di leggere attentamente quanto segue e vedere cosa si può vedere che non va in pg_stat;

http://www.postgresql.org/docs/9.0/static /planner-stats.html

EDIT:Per essere molto chiari, vacuum analyse non è l'intera risoluzione dei problemi. Tuttavia DEVE essere eseguito tra le fasi di risoluzione dei problemi perché altrimenti non puoi essere sicuro che il pianificatore stia prendendo in considerazione i dati corretti.