SQL performance : réflexes pour débutants (Madagascar)
Objectif
Rendre vos requêtes plus rapides sans devenir administrateur de bases.
1) Les 6 leviers simples
- Limiter les colonnes : évitez `SELECT *`
- Filtrer tôt : `WHERE` avant les jointures
- Réduire les lignes : pagination + bornes
- Utiliser les bons types : éviter conversions implicites
- Join propre : clés indexées
- Agréger intelligemment : `GROUP BY` après filtration
2) Checklist rapide
- Est-ce que je peux réduire le dataset dès le départ ?
- Est-ce que je filtre sur une colonne indexée ?
- Est-ce que mon JOIN utilise une clé ?
- Est-ce que je fais trop d’agrégations ?
Mini-exercice
1. Refaire une requête avec `WHERE` plus restrictif
2. Remplacer un `SELECT *` par les colonnes nécessaires
3. Comparer le résultat (et le temps si possible)
Erreurs fréquentes
- Optimiser avant de comprendre la logique
- Oublier d’observer les volumes