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.