Junior — Middle
Môžete vysvetliť účel príkazu EXPLAIN v PostgreSQL a ako pomáha optimalizovať dotazy?
sobes.tech AI
Odpoveď od AI
Príkaz EXPLAIN v PostgreSQL sa slúži na získanie plánu vykonávania SQL dotazu. Ukazuje, ako databáza plánuje vykonať dotaz — aké indexy budú použité, ako budú spojené tabuľky, koľko riadkov sa očakáva, že budú spracované, atď.
Pomáha optimalizovať dotazy identifikovaním úzkych miest, napríklad:
- Chýbajúce indexy, čo vedie k úplnému prehľadávaniu tabuľky.
- Nesprávne poradie spojení tabuliek.
- Nadbytočné operácie zoradenia alebo agregácie.
Príklad použitia:
EXPLAIN SELECT * FROM users WHERE email = 'example@mail.com';
Výsledok ukáže, či bude použitý index na poli email alebo či bude vykonané sekvenčné prehľadávanie.
Pre podrobnejšiu analýzu možno použiť EXPLAIN ANALYZE, ktoré vykoná dotaz a ukáže skutočné časové náklady.