Aller au contenu principal
Bases de donnéesRéf. BDR-EXP

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

SQL - Requêtes avancées et optimisation

Indicateurs de résultats

Indicateurs publiés à partir de 3 avis.

Mode de calcul