Écrire et optimiser une requête SQL

Obtenez une requête SQL correcte à partir d'un besoin en langage courant, avec les index recommandés et l'explication du plan d'exécution. Conçu pour ChatGPT, Claude et Gemini. Il comprend 4 variables personnalisables et vous pouvez le copier gratuitement en un clic.

Intermédiaire · Code · En attente de relecture éditoriale

Prompt

Agis comme un administrateur de bases de données expert en {{engine}}.

Schéma (tables et colonnes pertinentes) :
```
{{schema}}
```

J'ai besoin d'une requête qui : {{need}}
Volume approximatif de données : {{volume}}

Livre :
1. La requête SQL, formatée et commentée.
2. Une explication pas à pas de ce que fait chaque partie.
3. Les index recommandés (instructions CREATE INDEX) et pourquoi.
4. Les problèmes de performance possibles et comment les vérifier avec EXPLAIN.
5. Les cas limites (valeurs NULL, doublons, fuseaux horaires) et comment la requête les gère.

Utilise uniquement une syntaxe compatible avec {{engine}}. La requête doit être en lecture seule (SELECT) : ne modifie pas les données. Les CREATE INDEX sont des recommandations que je relirai et exécuterai moi-même ; garde-les séparés de la requête.

Comment l'utiliser

Collez uniquement la structure des tables (CREATE TABLE ou liste des colonnes), jamais de vraies données clients.

Exemple d'utilisation

Besoin : les 10 clients ayant le plus dépensé au cours des 90 derniers jours et leur nombre de commandes.

Exemple de résultat

1. Requête

-- Top 10 des clients par dépense sur les 90 derniers jours
SELECT
    cl.id,
    cl.nom,
    cl.email,
    SUM(co.total) AS depense_90j,
    COUNT(*)      AS nb_commandes
FROM commandes AS co
JOIN clients AS cl ON cl.id = co.client_id
WHERE co.created_at >= NOW() - INTERVAL 90 DAY   -- plage sargable : utilise l'index
  AND co.total IS NOT NULL
GROUP BY cl.id, cl.nom, cl.email
ORDER BY depense_90j DESC
LIMIT 10;

On filtre d'abord les commandes de la période, puis on regroupe par client et on trie par somme.

3. Index recommandé

CREATE INDEX idx_commandes_created_client_total
    ON commandes (created_at, client_id, total);

C'est un index couvrant : le filtre sur la date ne parcourt que la plage utile, et client_id et total sont lus sans accéder à la table.

4. Vérification avec EXPLAIN

Lancez EXPLAIN ANALYZE et vérifiez que commandes apparaît avec type: range et Using index. Un type: ALL signale un parcours complet de la table.

5. Cas limites

  • Fuseau horaire : NOW() utilise celui du serveur ; si created_at est en UTC, utilisez UTC_TIMESTAMP().
  • Égalités à la 10e place : ajoutez cl.id à l'ORDER BY pour un résultat stable…

Informations clés

Catégorie
Programmation et développement · SQL
Type de résultat
Code
Niveau
Intermédiaire
Conçu pour
ChatGPT, Claude et Gemini
Vérifié sur
En attente de vérification éditoriale
Variables
Moteur de base de données, Schéma, Votre besoin et Volume de données
Langue
Français
Prix
Gratuit, sans inscription
Mis à jour
07/11/2026

Questions fréquentes

Dois-je créer les index suggérés directement en production ?

Non. Testez-les d'abord sur une copie de préproduction et comparez la sortie d'EXPLAIN, car chaque index accélère certaines lectures mais ralentit les écritures et occupe de l'espace disque.

Dois-je coller de vraies données ?

Non. La structure des tables et un nombre approximatif de lignes suffisent. Ne collez jamais de données personnelles ou de clients dans un outil d'IA.

À quoi sert ce prompt ?

Obtenez une requête SQL correcte à partir d'un besoin en langage courant, avec les index recommandés et l'explication du plan d'exécution.

Avec quels outils d'IA fonctionne-t-il ?

Il est conçu pour ChatGPT, Claude et Gemini. Nous ne l'avons pas encore vérifié sur ces outils ; les résultats peuvent donc varier de l'un à l'autre.

Comment personnaliser le prompt ?

Cliquez sur « Personnaliser » et remplissez les variables (Moteur de base de données, Schéma, Votre besoin et Volume de données). Le texte se met à jour instantanément et vous pouvez ensuite le copier en un clic. Les valeurs sont stockées uniquement dans votre navigateur.

Faut-il de l'expérience pour l'utiliser ?

Il est de niveau intermédiaire : il vaut mieux connaître le sujet pour fournir un bon contexte et relire le résultat d'un œil critique.

Ce prompt est-il gratuit ?

Oui. Tous les prompts de HomeCasa Prompts sont gratuits, sans inscription ni abonnement. Vous pouvez aussi les utiliser dans des projets professionnels.

Puis-je me fier au résultat de l'IA ?

Considérez-le comme un brouillon de qualité : vérifiez toujours les données, les chiffres et les affirmations importantes avant de publier ou de prendre des décisions.

Prompts similaires