Sobes.tech
Middle

Ako ste optimalizovali PostgreSQL? Čo robiť so spomaleným SELECT dotazom?

sobes.tech AI

Odpoveď od AI

Optimalizácia PostgreSQL začína analýzou pomalého SELECT dotazu:

  • Použite EXPLAIN ANALYZE na pochopenie plánu vykonávania a identifikáciu úzkych miest.
  • Skontrolujte, či existujú a sú správne indexy na poliach používaných vo filtroch a spojeniach.
  • Vyhnite sa SELECT *, vyberajte iba potrebné stĺpce.
  • Prepisujte dotaz, ak je príliš zložitý, rozdeľte ho na viac alebo použite CTE.
  • Skontrolujte štatistiky tabuliek a v prípade potreby spustite ANALYZE.
  • Zvážte možnosť cacheovania výsledkov alebo použitia materializovaných pohľadov.

Príklad:

EXPLAIN ANALYZE SELECT id, name FROM users WHERE email = 'example@example.com';

Ak je dotaz pomalý, pravdepodobne chýba index na email. V takom prípade je vhodné ho vytvoriť:

CREATE INDEX idx_users_email ON users(email);

Po vytvorení by mal dotaz bežať oveľa rýchlejšie.