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

PostgreSQL je pomalý na velké tabulce s poli a spoustou aktualizací

Podíval bych se na FILLFACTOR pro stůl. Ve výchozím nastavení je nastavena na 100, můžete ji snížit na 70 (pro začátek). Poté musíte provést VACUUM FULL, abyste znovu postavili stůl.

ALTER TABLE tablename SET (FILLFACTOR = 70);
VACUUM FULL tablename;
REINDEX TABLE tablename;

To dává UPDATE šanci umístit aktualizovanou kopii řádku na stejnou stránku jako originál, což je efektivnější než umístění na jinou stránku. Nebo pokud je vaše databáze již poněkud fragmentovaná ze spousty předchozích aktualizací, může být již dostatečně rezervovaná. Nyní má vaše databáze také možnost provádět HOT aktualizace, za předpokladu, že sloupec, který aktualizujete, není součástí žádného indexu.



  1. Jak svázat proměnné SQL v PHP?

  2. Oracle10g SQL pivot

  3. MySQL změnit sloupec tabulky

  4. Chyba:Klient nepodporuje ověřovací protokol požadovaný serverem; zvážit upgrade klienta MySQL