SQL - Requêtes avancées et optimisation
Avec des volumes de données toujours plus importants, les requêtes SQL doivent être très efficaces. Cette formation vous apprend à utiliser les fonctions avancées, à lire les plans d'exécution et à accélérer fortement vos requêtes.
Objectif de la formation
Immersion · Savoir faire en situation réelle
À l’issue de cette formation, les participants seront capables de :
- Concevoir et structurer des requêtes SQL complexes et imbriquées
- Utiliser les fonctions de fenêtrage (Window Functions) pour réaliser des analyses statistiques et temporelles avancées
- Manipuler des données hiérarchiques ou récursives avec les expressions de table communes (CTE)
- Analyser un plan d'exécution pour diagnostiquer les requêtes lentes
- Créer des index adaptés pour accélérer fortement le traitement des données
Choisissez votre format
Jusqu’où voulez-vous aller ?
Chaque format reprend le précédent et y ajoute des journées.
Programme détaillé
ACTION · 14 heures (2 jours)
Jour 1
MatinRequêtes complexes, sous-requêtes et CTE
Objectif : Structurer des requêtes multiniveaux à l'aide de sous-requêtes corrélées. Maîtriser l'écriture et l'utilisation des expressions de table communes (CTE).
- Rappels et clarification de l'ordre d'exécution logique des clauses SQL.
- Sous-requêtes imbriquées (dans les clauses SELECT, FROM et WHERE).
- Les expressions de table communes (les avec la clause WITH) pour modulariser et clarifier le code.
- Les requêtes récursives (WITH RECURSIVE)</w:r><m:oMath><m:r><w:rPr><w:rFonts w:ascii="Cambria Math" w:hAnsi="Cambria Math"/></w:rPr><m:t>CTE</m:t></m:r></m:oMath><w:r><w:rPr><w:rFonts w:ascii="Aptos" w:hAnsi="Aptos" w:cs="Aptos"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:t xml:space="preserve"> pour modéliser des structures arborescentes.
Atelier pratique : Modularisation complète d'une requête d'extraction financière illisible à l'aide de imbriqués.
Cas métier : Extraction d'un arbre hiérarchique de comptes analytiques ou d'un organigramme de personnel RH complexe.
Compétence acquise : Savoir concevoir et écrire des requêtes complexes, lisibles et hautement maintenables.
Livrable : Script SQL d'extraction structuré et documenté.
Après-midiFonctions de fenêtrage (Window Functions)
Objectif : Calculer des agrégations complexes sans effondrer les lignes de résultats. Utiliser les fonctions analytiques pour des études temporelles ou statistiques.
- Le concept de cloisonnement et de fenêtrage : la clause OVER (PARTITION BY ... ORDER BY ...).
- Fonctions de classement et de rang : ROW_NUMBER(), RANK(), DENSE_RANK().
- Fonctions de décalage temporel : LAG() et LEAD() pour comparer des périodes.
- Calculs cumulés et moyennes mobiles à l'aide de la définition de cadre de fenêtres (ROWS BETWEEN).
Atelier pratique : Construction d'un rapport de ventes mensuel incluant des totaux cumulés et des comparaisons avec le mois précédent (LAG).
Cas métier : Analyse de performance commerciale avec calcul de parts de marché dynamiques par produit et région.
Compétence acquise : Maîtriser les fonctions analytiques indispensables pour la Business Intelligence.
Livrable : Tableau de bord de requêtes analytiques opérationnel.
Jour 2
MatinFonctionnement du moteur et plans d'exécution
Objectif : Comprendre comment le moteur de base de données interprète et exécute une requête. Lire et interpréter un plan d'exécution pour localiser un problème de performance.
- Le rôle de l'optimiseur de requêtes et de la collecte des statistiques.
- Utiliser la commande EXPLAIN ou EXPLAIN ANALYZE pour visualiser le plan d'exécution.
- Identifier les opérations de lecture critiques : scans de tables complets (Seq Scan / Full Table Scan) vs scans d'index.
- Comprendre les algorithmes de jointures système : Nested Loop, Hash Join, Merge Join.
Atelier pratique : Audit à chaud d'un ensemble de requêtes applicatives lentes et repérage des goulots d'étranglement physiques.
Cas métier : Diagnostic de lenteurs sur un tunnel de commande ou d'achats e-commerce lors de pics d'activité.
Compétence acquise : Être en mesure d'auditer et d'expliquer pourquoi une requête SQL ralentit vos applications.
Livrable : Rapport de diagnostic technique de requêtes rédigé à partir de l'analyse d'un plan d'exécution.
Après-midiIndexation et techniques d'optimisation
Objectif : Concevoir et appliquer des stratégies d'indexation adaptées aux requêtes lentes. Réécrire les requêtes SQL pour en maximiser la rapidité d'exécution.
- Le fonctionnement des index B-Tree, index composites (multi-colonnes) et index partiels.
- L'impact des index sur les écritures (INSERT/UPDATE/DELETE).
- Techniques de réécriture de requêtes : éviter les fonctions sur colonnes indexées, optimiser l'utilisation de OR et IN.
- Remplacer les clauses DISTINCT ou UNION par des alternatives plus performantes.
Atelier pratique : Réécriture de requêtes mal conçues et application d'une stratégie d'indexation ciblée pour diviser le temps de réponse par 100.
Cas métier : Optimisation d'un moteur de recherche de catalogue produits ou d'un rapport de clôture mensuelle.
Compétence acquise : Savoir optimiser physiquement et syntaxiquement une base de données relationnelle.
Livrable : Script d'optimisation (création d'index ciblés et requêtes optimisées prêtes pour la production).
Les ateliers et cas métier de ce programme pourront être adaptés par le consultant-formateur selon les besoins, le niveau et les prérequis des participants, pour favoriser l’atteinte des objectifs pédagogiques.
Cette formation dans le parcours
Vous êtes ici
Pour aller plus loin
Indicateurs de résultats
Indicateurs publiés à partir de 3 avis.
