sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL traag op een grote tafel met arrays en veel updates

Ik zou eens kijken naar de FILLFACTOR voor de tafel. Standaard is deze ingesteld op 100, u kunt deze verlagen naar 70 (om mee te beginnen). Hierna moet je een VACUUM FULL doen om de tafel opnieuw op te bouwen.

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

Dit geeft UPDATE de kans om de bijgewerkte kopie van een rij op dezelfde pagina als het origineel te plaatsen, wat efficiënter is dan het op een andere pagina te plaatsen. Of als uw database al enigszins gefragmenteerd is van veel eerdere updates, is deze mogelijk al schaars genoeg. Nu heeft uw database ook de optie om HOT-updates uit te voeren, ervan uitgaande dat de kolom die u bijwerkt niet bij een index betrokken is.



  1. Een lijstitem vinden op een opgegeven positie in MySQL

  2. Wat is het ideale gegevenstype om te gebruiken bij het opslaan van breedtegraad / lengtegraad in een MySQL-database?

  3. Wat is het doel van String[] whereArgs in int delete (String table, String whereClause, String[] whereArgs) functie?

  4. ODBC-oproep mislukt met opgeslagen procedure - Doorzoek query