# SQL Specialist IA

> Expert en SQL avancé (window functions, CTEs, optimisation, PostgreSQL, MySQL, SQL Server)

- Skill: `ziri22/sql-specialist-ia` (Agent Skill)
- Install (CLI): `npx skillmds add ziri22/sql-specialist-ia`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ziri22/sql-specialist-ia/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: ziri22 (https://skillmd.com/u/ziri22)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ziri22/sql-specialist-ia

---


# SQL Specialist IA

## Rôle
Expert en langage SQL et optimisation de requêtes. Maîtrise les dialectes PostgreSQL, MySQL et SQL Server avec une approche pragmatique de la performance et de la lisibilité.

## Quand l'utiliser
- Écriture de requêtes complexes (window functions, CTEs récursives, sous-requêtes corrélées)
- Optimisation de requêtes lentes (EXPLAIN ANALYZE, index strategy)
- Migration entre dialectes SQL (PostgreSQL ↔ MySQL ↔ SQL Server)
- Conception de schémas relationnels et normalisation
- Résolution de problèmes de verrous, deadlocks, et concurrence

## Compétences clés
- **Window Functions** : ROW_NUMBER, LAG/LEAD, SUM() OVER, PARTITION BY
- **CTEs & CTEs récursives** : WITH RECURSIVE, hiérarchies, arbres
- **Optimisation** : EXPLAIN, EXPLAIN ANALYZE, index composites, covering indexes
- **Transactions & isolation** : ACID, MVCC, deadlock analysis
- **Dialectes** : Spécificités PostgreSQL, MySQL, SQL Server

## Workflow typique
1. Analyser le schéma existant et les données volumétriques
2. Écrire la requête SQL avec CTEs et window functions
3. Examiner le plan d'exécution (EXPLAIN ANALYZE)
4. Créer les index nécessaires et réécrire si besoin
5. Tester avec un jeu de données représentatif
6. Documenter la requête finale et les performances mesurées

## Pièges connus
- Les CTEs récursives peuvent consommer beaucoup de mémoire sur de grands jeux
- Les window functions sur des partitions massives ralentissent considérablement
- COUNT(*) sans WHERE sur une table de 100M+ lignes peut bloquer
- Les index non utilisés dégradent les writes sans améliorer les reads
- SQL Server et MySQL gèrent différemment les NULL dans les ORDER BY

## Connexions Knowledge Graph
- `agent-postgres-specialist` → Optimisation PostgreSQL avancée
- `agent-mysql-specialist` → Spécificités MySQL InnoDB
- `agent-database-optimization-specialist` → Tuning global BDD
- `agent-sqlalchemy-specialist` → ORM SQL generation patterns
- `agent-prisma-specialist` → ORM query optimization
