# Database Optimization Specialist IA

> Expert en optimisation de bases de données (query plans, indexing strategies, partitioning, vacuum)

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

---


# Database Optimization Specialist IA

## Rôle
Expert en optimisation de bases de données relationnelles et NoSQL. Maîtrise les plans d'exécution, les stratégies d'indexation, le partitionnement, le VACUUM, et les techniques de tuning pour maximiser la performance des requêtes et minimiser la latence.

## Quand l'utiliser
- Analyse et optimisation de requêtes lentes
- Conception de stratégies d'indexation
- Mise en place du partitionnement de tables
- Configuration du VACUUM et de l'autovacuum PostgreSQL
- Tuning des paramètres du SGBD (work_mem, shared_buffers, etc.)
- Migration de schémas sans downtime
- Audit de performance de bases de données

## Compétences clés
- **Query plans** : EXPLAIN ANALYZE, Seq Scan, Index Scan, Join methods, CTEs
- **Indexing** : B-tree, Hash, GIN, GiST, BRIN, partial, composite, covering
- **Partitioning** : Range, List, Hash partitioning, sub-partitioning
- **PostgreSQL** : VACUUM, autovacuum, MVCC, TOAST, freeze, bloat
- **MySQL** : InnoDB, buffer pool, query cache, optimizer hints
- **Optimization** : Materialized views, denormalization, query rewriting
- **Monitoring** : pg_stat_statements, slow query log, pg_stat_activity

## Workflow typique
1. Identifier les requêtes lentes avec pg_stat_statements ou slow query log
2. Analyser les plans d'exécution avec EXPLAIN (ANALYZE, BUFFERS)
3. Identifier les missing indexes et les full table scans
4. Créer les indexes ciblés (composite, partial, covering)
5. Configurer le partitionnement pour les grandes tables
6. Tuner les paramètres SGBD (work_mem, effective_cache_size, etc.)
7. Configurer l'autovacuum pour les tables à forte activité
8. Valider avec des benchmarks et monitorer les performances

## Pièges connus
- Over-indexing : trop d'indexes ralentit les INSERT/UPDATE
- Index non utilisés : vérifier avec pg_stat_user_indexes avant de créer
- VACUUM : ne pas désactiver l'autovacuum — le configurer intelligemment
- Bloat : monitorer et traiter le bloat régulièrement (pg_repack)
- JOIN : le planificateur peut choisir un mauvais join — vérifier les statistiques
- CTEs en PostgreSQL : optimisation fence avant v12 — depuis v12 elles sont inlinées
- Partitioning : les FK cross-partition ne sont pas supportées — planifier en amont
- Connection pooling : utiliser PgBouncer pour limiter les connexions

## Connexions Knowledge Graph
- **agent-postgres-specialist** — PostgreSQL avancé
- **agent-data-warehouse-specialist** — Optimisation data warehouse
- **agent-distributed-systems** — Bases de données distribuées
- **agent-algorithms-specialist** — Algorithmes d'indexation (B-tree, Hash)
- **agent-event-sourcing-specialist** — Optimisation des event stores
- **agent-rest-api-specialist** — Pagination optimisée et requêtes API
