Is er een langzame SQL-query. Hoe diagnoseer je dat?
sobes.tech AI
Antwoord van AI
Om een trage SQL-query te diagnosticeren, volg ik meestal deze stappen:
-
Analyse van het uitvoeringsplan (EXPLAIN / EXPLAIN ANALYZE) — ik bekijk hoe het databasebeheersysteem van plan is de query uit te voeren, welke indexen worden gebruikt, of er volledige tabelscans zijn.
-
Controleer indexen — ik zorg dat de kolommen die betrokken zijn bij filters en joins de juiste indexen hebben.
-
Resourceprofilering — ik observeer de belasting op CPU, disk, geheugen tijdens het uitvoeren van de query.
-
Optimaliseer de query — ik vereenvoudig de query, splits deze op, verwijder overbodige JOINs of subqueries.
-
Controleer statistieken en hun actualiteit — als de statistieken verouderd zijn, kan het plan inefficiënt zijn.
-
Databaseparameters en configuratie — soms beïnvloeden geheugen- of cache-instellingen de prestaties.
-
Test met verschillende datavolumes — om te begrijpen hoe de query schaalt.
Voorbeeld van een commando om het plan te analyseren in PostgreSQL:
EXPLAIN ANALYZE
SELECT * FROM orders WHERE customer_id = 123;
Dit geeft gedetailleerde informatie over de uitvoeringstijd en gebruikte operaties.