Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

PostgreSQL EXPLAIN ANALYZE

12. 05. 2020 Aktualizováno: 27. 03. 2026 1 min čtení intermediate
Tento článek byl publikován v roce 2020. Některé informace mohou být zastaralé.

EXPLAIN ANALYZE je nejdůležitější optimalizační nástroj.

Použití

EXPLAIN ANALYZE SELECT * FROM orders WHERE user_id=123; EXPLAIN (ANALYZE, BUFFERS) SELECT …;

Scany

  • Seq Scan — celá tabulka
  • Index Scan — index + fetch
  • Index Only Scan — jen index
  • Bitmap — pro více řádků

Joins

  • Nested Loop — malé tabulky
  • Hash Join — velké bez indexu
  • Merge Join — seřazená data

Optimalizace

  • Přidat chybějící index
  • ANALYZE pro statistiky
  • Subquery → JOIN
  • Zvýšit work_mem pro sorty

Čtení EXPLAIN výstupu

Při analýze EXPLAIN ANALYZE výstupu se zaměřte na rozdíl mezi estimated cost a actual time. Velký rozdíl signalizuje zastaralé statistiky — spusťte ANALYZE na příslušné tabulce. Seq Scan na velké tabulce s WHERE podmínkou obvykle znamená chybějící index.

Sledujte Buffers: shared hit vs shared read — vysoký poměr read znamená, že data nejsou v cache a čtou se z disku. Zvýšení shared_buffers může pomoci. Pro sort operace kontrolujte, zda se provádějí v paměti nebo na disku (Sort Method: external merge). V takovém případě zvyšte work_mem. Nástroj auto_explain s parametrem log_min_duration automaticky loguje pomalé dotazy s jejich plány, což je nezbytné pro produkční optimalizaci.

EXPLAIN = debugging dotazů

cost vs actual odhalí problémy.

postgresqlexplainquery optimization
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.