sql >> Databáze >  >> RDS >> PostgreSQL

Proč PostgreSQL (9.1) nepoužívá index pro jednoduchý výběr rovnosti?

Chcete-li tyto problémy odstranit, je bezpodmínečně nutné, abyste mezi kroky odstraňování problémů spustili na stole VACUUM ANALYZE, abyste viděli, co funguje. Jinak možná nebudete přesně vědět, co se kde změnilo. Zkuste to tedy a nejprve spusťte znovu a zjistěte, zda to problém vyřeší.

Další kroky ke spuštění (spuštění vakuové analýzy a testování případu mezi každým z nich) jsou:

ALTER TABLE lead ALTER COLUMN email SET STATISTICS 1000;

Možná se to napraví. Možná ne.

Pokud to nevyřeší, podívejte se pozorně na pohled pg_stat:

SELECT * FROM pg_stat WHERE table_name = 'lead';

Přečtěte si prosím pozorně následující a zjistěte, co je v pg_stat špatně;

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

EDIT:Aby bylo jasno, vacuum analyse není celé řešení problémů. MUSÍ se však spouštět mezi kroky odstraňování problémů, protože jinak si nemůžete být jisti, že plánovač bere v úvahu správná data.



  1. Příkaz PRINT v T-SQL

  2. Jaro, Hibernate, Blob líné načítání

  3. Jak vynutit vlastní formát sloupců MySQL

  4. Výpočet věku od narozenin pomocí oracle plsql trigger a vložení věku do tabulky