Sobes.tech
Middle

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:

  1. 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.

  2. Controleer indexen — ik zorg dat de kolommen die betrokken zijn bij filters en joins de juiste indexen hebben.

  3. Resourceprofilering — ik observeer de belasting op CPU, disk, geheugen tijdens het uitvoeren van de query.

  4. Optimaliseer de query — ik vereenvoudig de query, splits deze op, verwijder overbodige JOINs of subqueries.

  5. Controleer statistieken en hun actualiteit — als de statistieken verouderd zijn, kan het plan inefficiënt zijn.

  6. Databaseparameters en configuratie — soms beïnvloeden geheugen- of cache-instellingen de prestaties.

  7. 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.