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

Warum verwendet PostgreSQL (9.1) keinen Index für die einfache Gleichheitsauswahl?

Um diese zu beheben, ist es zwingend erforderlich, dass Sie zwischen den Fehlerbehebungsschritten VACUUM ANALYZE auf dem Tisch ausführen, um zu sehen, was funktioniert. Andernfalls wissen Sie möglicherweise nicht genau, was sich wo geändert hat. Also versuchen Sie das und führen Sie es zuerst erneut aus und sehen Sie, ob es das Problem behebt.

Die nächsten auszuführenden Schritte (vakuumanalysieren und zwischendurch einen Testfall durchführen) sind:

ALTER TABLE lead ALTER COLUMN email SET STATISTICS 1000;

Vielleicht wird es dadurch behoben. Vielleicht nicht.

Wenn das nicht hilft, sehen Sie sich die pg_stat-Ansicht genau an:

SELECT * FROM pg_stat WHERE table_name = 'lead';

Bitte lesen Sie das Folgende gründlich durch und sehen Sie, was Sie in pg_stat;

falsch sehen können

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

BEARBEITEN:Um ganz klar zu sein, vacuum analyse ist nicht die ganze Fehlersuche. Es MUSS jedoch zwischen den Fehlerbehebungsschritten ausgeführt werden, da Sie sonst nicht sicher sein können, dass der Planer die richtigen Daten berücksichtigt.