sql-optimization-patterns
Optimiser les requêtes SQL avec des modèles éprouvés
Les requêtes lentes provoquent des retards et des coûts élevés de base de données. Cette compétence fournit des modèles d'optimisation clairs et des conseils d'indexation pour améliorer les performances et éliminer les goulots d'étranglement.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "sql-optimization-patterns". Optimiser cette requête qui joint users et orders et qui expire
Résultat attendu:
- Identifier le filtre de jointure qui provoque un parcours de table complète
- Proposer un index composite sur les colonnes user_id et status
- Réécrire la requête pour filtrer les utilisateurs avant la jointure
- Suggérer l'exécution de EXPLAIN ANALYZE pour vérifier les améliorations
Utilisation de "sql-optimization-patterns". Pourquoi ma requête de pagination est-elle lente aux numéros de page élevés
Résultat attendu:
- OFFSET oblige la base de données à parcourir toutes les lignes précédentes
- Convertir en pagination basée sur un curseur utilisant last_seen_id
- Créer un index sur (created_at DESC, id) pour un tri efficace
- Supprimer ORDER BY sur les colonnes non indexées
Utilisation de "sql-optimization-patterns". Ma requête COUNT est lente sur une grande table orders
Résultat attendu:
- COUNT(*) parcourt toutes les lignes correspondantes pour un comptage exact
- Utiliser un parcours d'index uniquement sur la colonne filtrée si un comptage approximatif est acceptable
- Considérer les vues matérialisées pour les agrégats fréquemment accédés
- Filtrer avant de compter pour exploiter les index
Audit de sécurité
SûrAll 111 static findings are false positives. The skill contains only instructional SQL documentation. The scanner triggered on: SHA256 hash values (misidentified as C2 keywords), database terminology like 'hash' in Hash Join explanations, markdown code fences (misidentified as backticks), and SQL query examples (misidentified as reconnaissance). No executable code, network calls, or malicious patterns exist.
Facteurs de risque
🌐 Accès réseau (1)
⚙️ Commandes externes (42)
📁 Accès au système de fichiers (1)
Score de qualité
Ce que vous pouvez construire
Corriger les requêtes d'API lentes
Diagnostiquer les endpoints lents et appliquer l'indexation et les modèles de réécriture de requêtes.
Faire évoluer les charges de travail analytiques
Améliorer les agrégats, les opérations par lots et le partitionnement pour les grandes tables.
Examiner les plans de requête
Interpréter la sortie EXPLAIN et identifier les goulots d'étranglement de parcours et de jointure.
Essayez ces prompts
Expliquez pourquoi cette requête SQL est lente et suggérez une correction d'index et une approche de réécriture.
Examinez mes tables et mes modèles de requêtes et proposez un ensemble minimal d'index avec les justifications.
Convertissez ma requête avec pagination OFFSET en pagination basée sur un curseur et listez les index requis.
Analysez cette sortie EXPLAIN et priorisez les trois principales modifications pour réduire le temps d'exécution.
Bonnes pratiques
- Partager le schéma des tables, les nombres de lignes et les modèles de requêtes pour des conseils ciblés
- Inclure la sortie EXPLAIN ou EXPLAIN ANALYZE lorsque possible
- Appliquer les modifications de manière incrémentale et revérifier les performances après chaque modification
Éviter
- Créer de nombreux index sans mesurer l'impact sur les performances d'écriture
- Utiliser SELECT * dans les requêtes de production qui récupèrent des colonnes inutiles
- Filtrer avec des fonctions comme LOWER() qui bloquent l'utilisation des index