PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL lent sur une grande table avec des tableaux et de nombreuses mises à jour

Je voudrais jeter un oeil à la FILLFACTOR pour la table. Par défaut, il est réglé sur 100, vous pouvez le baisser à 70 (pour commencer). Après cela, vous devez faire un VACUUM FULL pour reconstruire la table.

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

Cela donne à UPDATE une chance de placer la copie mise à jour d'une ligne sur la même page que l'original, ce qui est plus efficace que de la placer sur une page différente. Ou si votre base de données est déjà quelque peu fragmentée par de nombreuses mises à jour précédentes, elle est peut-être déjà suffisamment épargnée. Désormais, votre base de données a également la possibilité d'effectuer des mises à jour HOT, en supposant que la colonne que vous mettez à jour n'est impliquée dans aucun index.