Heeft u zich wel eens afgevraagd waarom het laden van uw gegevens zo lang duurt om te voltooien in PostgreSQL? Tips op hoog niveau om te overwegen om uw bulkbelasting te versnellen, worden hier gepresenteerd.

Stappen

  1. 1 COPY-opdracht: Gebruik om een ​​groot aantal rijen te laden in plaats van een reeks INSERTS-opdrachten. Veel sneller dan gewone inserts. Het is 30% sneller met Postgres 8.1+ releases.
  2. 2 Opdracht TRUNCATE: Gebruik Truncate in plaats van delete om hele tabellen te verwijderen. Veel snellere en meer ruimtebesparende werking.
  3. 3 Drop-indexen: Overweeg indexen te laten vallen voordat u de tabel vernieuwt: drop index => laden (kopiëren) => indexen maken => Statistieken verzamelen (analyseren)
  4. 4 Configuratieparameters om in overweging te nemen om grote datalimieten te versnellen: Verhoog maintenance_work_mem: versnelt het aanmaken van indexen en versnelt het stofzuigen
  5. 5 Verhoog checkpoint_segments: Spoelt vuile geheugenbuffers naar schijf. Bij grote datastromen kunnen DB-controlepunten vaker worden gebruikt; vandaar langzamer laden. Reduceert de frequentie van DB-checkpoints; dus het versnellen van de algehele bulk data load.
  6. 6 archivering: Overweeg (tijdelijk) archivering van WAL-bestanden uit te schakelen.
  7. 7 Statistieken analyseren: Analyseer daarna altijd objectstatistieken.