sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL långsam på ett stort bord med arrayer och massor av uppdateringar

Jag skulle ta en titt på FILLFACTOR för bordet. Som standard är den inställd på 100, du kan sänka den till 70 (till att börja med). Efter detta måste du göra en VAKUUM FULL för att bygga om bordet.

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

Detta ger UPDATE en chans att placera den uppdaterade kopian av en rad på samma sida som originalet, vilket är mer effektivt än att placera den på en annan sida. Eller om din databas redan är något fragmenterad från många tidigare uppdateringar, kan den redan vara sparsam nog. Nu har din databas också möjlighet att göra HETA uppdateringar, förutsatt att kolumnen du uppdaterar inte är inblandad i något index.



  1. Hur undkommer jag ett enstaka citat i SQL Server?

  2. Hur LOCATE()-funktionen fungerar i MySQL

  3. SSIS Excel-import tvingar fram felaktig kolumntyp

  4. Vad är en betrodd anslutning?