Optimisation des requêtes

L'optimisation des requêtes consiste à écrire des requêtes SQL efficaces qui minimisent le temps de traitement et la charge sur le serveur. Cela passe souvent par des ajustements dans la façon dont vous structurez vos requêtes et utilisez les ressources comme les index.

5.3.1 Règles générales d'optimisation :

  1. Évitez les requêtes SELECT * : Ne sélectionnez que les colonnes dont vous avez réellement besoin. Une requête SELECT * entraîne le chargement inutile de colonnes, ce qui peut augmenter les temps de traitement.

    Exemple (à éviter) :

SELECT * FROM clients;

Version optimisée :

SELECT nom, email FROM clients;
  1. Utilisez des jointures (JOIN) au lieu de sous-requêtes : Les jointures sont souvent plus efficaces que les sous-requêtes imbriquées.

Exemple (sous-requête) :

SELECT nom FROM clients WHERE id_client IN (SELECT id_client FROM commandes);

Version optimisée (avec JOIN) :

SELECT DISTINCT clients.nom 
FROM clients 
JOIN commandes ON clients.id_client = commandes.id_client;
  1. Utilisez des index pour les colonnes dans WHERE, ORDER BY, et GROUP BY : Si une colonne est fréquemment utilisée dans ces clauses, assurez-vous qu'elle est indexée pour améliorer les performances.

  2. Limiter les résultats avec LIMIT : Lorsque vous n'avez besoin que d'un nombre limité de résultats, utilisez la clause LIMIT pour éviter de traiter et retourner un trop grand nombre de lignes.

Exemple :

SELECT nom, email FROM clients ORDER BY date_inscription DESC LIMIT 10;

Last updated