Výkon systémově verzovaných temporálních tabulek optimalizovaných z hlediska paměti

Platí pro: SQL Server 2016 (13.x) a novější verze Azure SQL Managed Instance

Tento článek se zabývá konkrétními aspekty výkonu při používání systémově verzovaných paměťově optimalizovaných časových tabulek.

Když přidáte systémovou správu verzí do existující tabulky, která není dočasná, můžete očekávat dopad na operace aktualizace a odstranění, protože tabulka historie se aktualizuje automaticky.

Důležité informace o výkonu

Každá aktualizace a odstranění se zaznamená v interní tabulce historie optimalizované pro paměť. Pokud vaše pracovní zátěž tyto dvě operace intenzivně využívá, můžete zažít neočekávanou spotřebu paměti. Vezměte v úvahu následující skutečnosti:

  • Neprovádějte masivní odstranění z aktuální tabulky v jednom kroku. Zvažte odstranění dat v několika dávkách s ručně vyvolaným vyprázdněním dat mezi jednotlivými dávkami pomocí sp_xtp_flush_temporal_history nebo během SYSTEM_VERSIONING = OFF.

  • Neprovádějte rozsáhlé aktualizace tabulek najednou, protože to může vyžadovat dvojnásobek paměti potřebné k aktualizaci nečasové tabulky optimalizované pro paměť. Tato dvojnásobná spotřeba paměti je dočasná, protože úloha ukládání dat pravidelně funguje, aby se spotřeba paměti interních přechodových tabulek udržela v rámci očekávaných mezí ve stálém stavu. Hranice je 10 % spotřeby paměti aktuální časové tabulky. Zvažte provádění rozsáhlých aktualizací v několika dávkách nebo během SYSTEM_VERSIONING = OFF, například když používáte aktualizace k nastavení výchozích hodnot pro nově přidané sloupce.

Doba aktivace úlohy vyprázdnění dat není konfigurovatelná, ale podle potřeby můžete provést sp_xtp_flush_temporal_history ručně.

Zvažte použití clustered columnstore jako možnosti úložiště pro deskovou tabulku historie na disku, zvláště pokud plánujete spouštět analytické dotazy na historická data využívající agregační nebo okenní funkce. V takovém případě je pro vaši tabulku historie optimální volbou clusterovaný index columnstore. Clusterované sloupcové indexy poskytují dobrou kompresi dat a jsou vhodné pro vkládání, což odpovídá způsobu, jakým jsou generována historická data.