Delen via


Bulkinvoegingen optimaliseren en tijdelijke gegevens gebruiken op een Azure Database for PostgreSQL - Enkele server

VAN TOEPASSING OP: Azure Database for PostgreSQL - enkele server

Belangrijk

Azure Database for PostgreSQL - Enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om een upgrade uit te voeren naar Azure Database for PostgreSQL - Flexible Server. Zie Wat gebeurt er met Azure Database for PostgreSQL Enkele server voor meer informatie over migreren naar Azure Database for PostgreSQL - Flexible Server.

In dit artikel wordt beschreven hoe u bewerkingen voor bulksgewijs invoegen kunt optimaliseren en tijdelijke gegevens kunt gebruiken op een Azure Database for PostgreSQL-server.

Niet-vastgelegde tabellen gebruiken

Als u workloadbewerkingen hebt waarbij tijdelijke gegevens zijn betrokken of grote gegevenssets bulksgewijs worden ingevoegd, kunt u overwegen niet-vastgelegde tabellen te gebruiken.

Niet-vastgelegde tabellen is een PostgreSQL-functie die effectief kan worden gebruikt om bulkinvoegingen te optimaliseren. PostgreSQL maakt gebruik van Write-Ahead Logging (WAL). Het biedt standaard atomiciteit en duurzaamheid. Atomiciteit, consistentie, isolatie en duurzaamheid vormen de ACID-eigenschappen.

Als u in een niet-vastgelegde tabel invoegt, betekent dit dat PostgreSQL wordt ingevoegd zonder in het transactielogboek te schrijven, wat zelf een I/O-bewerking is. Hierdoor zijn deze tabellen aanzienlijk sneller dan gewone tabellen.

Gebruik de volgende opties om een niet-vastgelegde tabel te maken:

  • Maak een nieuwe niet-vastgelegde tabel met behulp van de syntaxis CREATE UNLOGGED TABLE <tableName>.
  • Converteer een bestaande vastgelegde tabel naar een niet-vastgelegde tabel met behulp van de syntaxis ALTER TABLE <tableName> SET UNLOGGED.

Als u het proces wilt omkeren, gebruikt u de syntaxis ALTER TABLE <tableName> SET LOGGED.

Niet-vastgelegde tabel

Niet-vastgelegde tabellen zijn niet crashveilig. Een niet-vastgelegde tabel wordt automatisch afgekapt na een crash of onderworpen aan een onreine afsluiting. De inhoud van een niet-vastgelegde tabel wordt ook niet gerepliceerd naar stand-byservers. Alle indexen die zijn gemaakt in een niet-vastgelegde tabel, worden ook automatisch niet geregistreerd. Nadat de invoegbewerking is voltooid, converteert u de tabel naar geregistreerd zodat de invoegbewerking duurzaam is.

Sommige workloads van klanten hebben een prestatieverbetering van ongeveer 15 procent tot 20 procent ervaren wanneer niet-vastgelegde tabellen zijn gebruikt.

Volgende stappen

Controleer uw workload voor het gebruik van tijdelijke gegevens en grote bulkinvoegingen. Raadpleeg de volgende PostgreSQL-documentatie: