Toolverse
All skills

sql-optimization-patterns

by wshobson

Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries. Use when debugging slow queries, designing database schemas, or optimizing application performance.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
wshobson
Category
Backend
Views
163

About this skill

Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries. Use when debugging slow queries, designing database schemas, or optimizing application performance.

How to use

  1. Zainstaluj umiejętność w swoim agencie, dodając ją do konfiguracji skills. Upewnij się, że masz dostęp do bazy danych, którą chcesz optymalizować.

  2. Gdy napotkasz wolne zapytanie, użyj polecenia EXPLAIN ANALYZE, aby zobaczyć plan wykonania. Uruchom zapytanie z flagą ANALYZE, aby otrzymać rzeczywiste czasy wykonania i liczbę wierszy.

  3. Przeanalizuj wynik EXPLAIN, szukając Seq Scan (pełne skanowanie tabeli) zamiast Index Scan. Zwróć uwagę na metryki Cost, Rows i Actual Time — im niższe wartości, tym lepiej.

  4. Zidentyfikuj kolumny używane w warunkach WHERE i JOIN. Na podstawie tego wybierz typ indeksu: B-Tree dla porównań równości i zakresu, Hash tylko dla równości, GiST dla danych geograficznych lub tekstowych.

  5. Utwórz indeks na zidentyfikowanych kolumnach i ponownie uruchom EXPLAIN ANALYZE, aby porównać wyniki. Sprawdź, czy zapytanie teraz używa Index Scan zamiast Seq Scan.

  6. Jeśli masz problemy z zapytaniami N+1 (wiele małych zapytań zamiast jednego JOINa), przepisz logikę, aby pobierać dane w jednym zapytaniu z odpowiednimi JOINami.

Related skills