Optimalizace hromadného vkládání a používání přechodných dat na jednoúčelovém serveru Azure Database for PostgreSQL

PLATÍ PRO: Azure Database for PostgreSQL – Jednoúčelový server

Důležité

Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for PostgreSQL. Další informace o migraci na flexibilní server Azure Database for PostgreSQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for PostgreSQL?

Tento článek popisuje, jak můžete optimalizovat operace hromadného vkládání a používat přechodná data na serveru Azure Database for PostgreSQL.

Použití nepřilogovaných tabulek

Pokud máte operace úloh, které zahrnují přechodná data nebo které vkládají velké datové sady hromadně, zvažte použití nezalogovaných tabulek.

Unlogged tables je funkce PostgreSQL, která se dá efektivně použít k optimalizaci hromadných vkládání. PostgreSQL používá protokolování s hlavičkou zápisu (WAL). Ve výchozím nastavení poskytuje atomicitu a odolnost. Atomicita, konzistence, izolace a stálost tvoří vlastnosti ACID.

Vložení do nezapsané tabulky znamená, že PostgreSQL vloží bez zápisu do transakčního protokolu, což je samotná vstupně-výstupní operace. V důsledku toho jsou tyto tabulky výrazně rychlejší než běžné tabulky.

K vytvoření nepřiřazené tabulky použijte následující možnosti:

  • Vytvořte novou nepřiřazenou tabulku pomocí syntaxe CREATE UNLOGGED TABLE <tableName>.
  • Pomocí syntaxe ALTER TABLE <tableName> SET UNLOGGEDpřeveďte existující zaprotokolovanou tabulku na nezalogovanou tabulku.

Chcete-li obrátit proces, použijte syntaxi ALTER TABLE <tableName> SET LOGGED.

Kompromis mezi tabulkami bezlogu

Nezalogované tabulky nejsou bezpečné pro chybové ukončení. Nelogovaná tabulka se po chybovém ukončení automaticky zkrátí nebo dojde k nečistým vypnutím. Obsah nelogované tabulky se také nereplikuje na pohotovostní servery. Všechny indexy vytvořené v nezalogované tabulce se také automaticky zruší. Po dokončení operace vložení převeďte tabulku na zaprotokolovanou tak, aby vložení bylo odolné.

U některých zákaznických úloh došlo k přibližně 15 až 20% zlepšení výkonu při použití nepřiřízených tabulek.

Další kroky

Zkontrolujte své úlohy a zkontrolujte použití přechodných dat a velkých hromadných vkládání. Projděte si následující dokumentaci k PostgreSQL: