Přeskočit na hlavní obsah

Paralelní zpracování SQL dotazů (PostgreSQL 10)

Je možné v PostgreSQL 10 zapnout paralelní zpracování SQL dotazů?

Autor: Petr Pech
Aktualizováno dnes

Ano, PostgreSQL 10 podporuje paralelní zpracování dotazů.

👉 Databáze může jeden dotaz rozdělit na více částí a zpracovat je souběžně (např. při čtení velkých objemů dat).


Omezení

Paralelní zpracování se nepoužije, pokud dotaz obsahuje funkce, které nejsou označené jako PARALLEL SAFE.

Typicky:

  • funkce bigid není ve výchozím stavu paralelně bezpečná


Řešení

Funkce je možné označit jako paralelně bezpečné:

ALTER FUNCTION public.bigid(bigint, bigint)
PARALLEL SAFE;
ALTER FUNCTION public.bigid(character varying, character varying, character varying, character varying, character varying)
PARALLEL SAFE;


Poznámka

  • označení PARALLEL SAFE znamená, že funkce nemá vedlejší efekty

  • změnu provádějte pouze pokud jste si jisti, že je funkce bezpečná

Dostali jste odpověď na svou otázku?