Sobes.tech
Junior — Middle

Můžete vysvětlit účel příkazu EXPLAIN v PostgreSQL a jak pomáhá optimalizovat dotazy?

sobes.tech AI

Odpověď od AI

Příkaz EXPLAIN v PostgreSQL se používá k získání plánu provádění SQL dotazu. Ukazuje, jak databáze plánuje dotaz provést — které indexy budou použity, jak budou spojeny tabulky, kolik řádků se předpokládá, že bude zpracováno, atd.

Pomáhá optimalizovat dotazy identifikací úzkých míst, například:

  • Chybějící indexy, což vede k úplnému skenování tabulky.
  • Nesprávné pořadí spojení tabulek.
  • Nadbytečné operace třídění nebo agregace.

Příklad použití:

EXPLAIN SELECT * FROM users WHERE email = 'example@mail.com';

Výsledek ukáže, zda bude použit index na poli email nebo zda bude provedeno sekvenční skenování.

Pro podrobnější analýzu lze použít EXPLAIN ANALYZE, které provede dotaz a ukáže skutečné časové náklady.