Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) en latere versies
van Azure SQL Managed Instance
Dit artikel bespreekt specifieke prestatie-overwegingen wanneer je systeemversiegevende, geheugengeoptimaliseerde temporele tabellen gebruikt.
Wanneer u systeemversiebeheer toevoegt aan een bestaande niet-tijdelijke tabel, verwacht u een prestatieimpact op update- en verwijderbewerkingen, omdat de geschiedenistabel automatisch wordt bijgewerkt.
Prestatie-overwegingen
Elke update en verwijdering wordt vastgelegd in een interne geschiedenistabel die is geoptimaliseerd voor geheugen. Je kunt onverwacht geheugenverbruik ervaren als je workload deze twee bewerkingen veel gebruikt. Houd rekening met het volgende:
Voer in één stap geen enorme verwijderingen uit de huidige tabel uit. Overweeg gegevens in meerdere batches te verwijderen, met daartussen een handmatig uitgevoerde gegevensflush met sp_xtp_flush_temporal_history, of tijdens
SYSTEM_VERSIONING = OFF.Voer geen enorme tabelupdates tegelijk uit, want dan kan het dubbele geheugen gebruiken dat nodig is om een niet-temporele geheugengeoptimaliseerde tabel bij te werken. Dit verdubbelde geheugenverbruik is tijdelijk, omdat de dataflush-taak regelmatig werkt om het geheugenverbruik van interne faseringstabellen binnen de verwachte grenzen in de stabiele toestand te behouden. De grens is 10 procent van het geheugenverbruik van de huidige tijdelijke tabel. Overweeg om grootschalige updates in meerdere batches uit te voeren, of wanneer
SYSTEM_VERSIONING = OFF, bijvoorbeeld door updates te gebruiken om standaardwaarden in te stellen voor nieuw toegevoegde kolommen.
De activeringsperiode voor de taak voor het leegmaken van gegevens kan niet worden geconfigureerd, maar u kunt sp_xtp_flush_temporal_history indien nodig handmatig uitvoeren.
Overweeg om geclusterde columnstore als opslagoptie te gebruiken voor een schijfgebaseerde geschiedenistabel, vooral als je analytics-queries wilt uitvoeren op historische data die gebruikmaken van aggregate- of windowing-functies. In dat geval is een geclusterde columnstore-index een optimale keuze voor uw geschiedenistabel. Geclusterde columnstore-indexen bieden goede gegevenscompressie en gedragen zich op een invoegvriendelijke manier, afgestemd op de manier waarop geschiedenisgegevens worden gegenereerd.
Verwante onderwerpen
- Systeem-geversioneerde temporele tabellen met geheugen-geoptimaliseerde tabellen
- Maak een geheugen-geoptimaliseerde systeem-geversioneerde temporele tabel
- Werken met door het geheugen geoptimaliseerde systeem-geversioneerde temporale tabellen
- Geheugen-geoptimaliseerde systeem-gegenereerde temporele tabellen bewaken
- Tijdelijke tabellen
- consistentiecontroles van het tijdelijke tabelsysteem
- Beheer retentie van historische gegevens in systeem-geversioneerde temporele tabellen
- weergaven en functies van metagegevens van tijdelijke tabellen