Sobes.tech
Middle

Lassú SQL-lekérdezés van. Hogyan diagnosztizáljuk?

sobes.tech MI

Válasz az MI-től

A lassú SQL-lekérdezés diagnosztizálásához általában a következő lépéseket követem:

  1. A végrehajtási terv elemzése (EXPLAIN / EXPLAIN ANALYZE) — megvizsgálom, hogyan tervezi az adatbázis-kezelő rendszer végrehajtani a lekérdezést, mely indexek vannak használatban, vannak-e teljes táblaszkennelések.

  2. Indexek ellenőrzése — megbizonyosodom arról, hogy a szűrő- és összekapcsolási oszlopok megfelelő indexekkel rendelkeznek.

  3. Erőforrásprofilozás — figyelem a CPU, a lemez, a memória terhelését a lekérdezés végrehajtása közben.

  4. A lekérdezés optimalizálása — egyszerűsítem a lekérdezést, részekre bontom, eltávolítom a felesleges JOINokat vagy al-lekérdezéseket.

  5. Statisztikák és azok aktualitásának ellenőrzése — ha a statisztikák elavultak, a terv hatékonysága csökkenhet.

  6. Adatbázis paraméterek és konfiguráció — néha a memória- vagy cache-beállítások befolyásolják a teljesítményt.

  7. Különböző adatmennyiségekkel végzett tesztek — hogy megértsem, hogyan skálázódik a lekérdezés.

Példa parancs a terv elemzéséhez PostgreSQL-ben:

EXPLAIN ANALYZE
SELECT * FROM orders WHERE customer_id = 123;

Ez részletes információkat ad a végrehajtási időről és az alkalmazott műveletekről.