Transact-SQL, optimisation pour SQL Server 2016 à 2008, 2 jours

Présentation

Cette formation présente les règles de bonne écriture et d’optimisation du Transact-SQL, pour améliorer les performances des requêtes et éviter les écueils fréquemment rencontrés lors de la programmation en T-SQL.

Objectifs pédagogiques

  • Comprendre le fonctionnement de l’optimiseur SQL
  • Bien choisir ses index pour optimiser l’accès aux données
  • Utiliser les statistiques et le plan d’exécution pour auditer les performances des requêtes
  • Améliorer les requêtes par de bonnes pratiques d’écriture
  • Utiliser le profiler et le Database Tuning Advisor pour améliorer les performances
  • Utiliser le magasin de requête (SQL Server 2016)

Pédagogie

Alternance d’exposés théoriques et d’exercices pratiques

Durée : 2 jours – 14 heures

Dates et prix : contact@fc3h.fr

Pré-réquis

  • Connaissance de l’environnement Windows.
  • Connaitre les concepts principaux des base de données relationnelles.
  • Connaître les notions de base du langage Transact-SQL

Public concerné

Ce cours est destiné aux utilisateurs, développeurs, futurs administrateurs de bases de données et toute personne devant optimiser le requêtage SQL

PROGRAMME DE FORMATION

Vue d’ensemble de SQL Server

  • Présentation de SQL Server
  • Présentation des bases de données

Le modèle relationnel et le langage SQL

  • Les spécificités des bases de données relationnelles et du langage SQL.
  • La normalisation du modèle de données.
  • Les notions d’écriture ensembliste et déclarative.
  • Les spécificités du dialecte Transact-SQL.
  • Le fonctionnement de l’optimiseur SQL.

Stratégie d’indexation et performances

  • Les bases de l’indexation.
  • La structure en B-Tree et les différents types d’index.
  • Comment choisir ses index en fonction des requêtes ?
  • La notion de couverture de requête par un index.
  • Le concept de SARG (Search Argument) pour favoriser l’utilisation de l’index.
  • Utilisation du profiler et du Database Tuning Advisor.

Optimisation des requêtes complexes

  • Maîtriser les sous-requêtes et les opérateurs relationnels.
  • Utiliser l’instruction MERGE pour les mises à jour de données complexes.
  • Utiliser les fonctions de fenêtrage et les fonctions statistiques.
  • Utiliser le CROSS JOIN pour résoudre les problèmes complexes.
  • Ecrire du code récursif en utilisant des expressions de table.

Optimisation du code procédural

  • Règles pour l’écriture de procédures stockées.
  • Maîtriser la compilation et recompilation.
  • Minimiser l’impact des déclencheurs.
  • Comprendre les transactions et les problèmes de verrouillage.
  • Utiliser les niveaux d’isolation de la transaction.

Optimisation des requêtes et « best pratices »

  • Les règles de bonne écriture des requêtes SQL.
  • Lire et utiliser les statistiques d’exécution et le plan d’exécution.
  • Optimiser ses jointures et ses regroupements.
  • Optimiser le code de mise à jour des données.
  • Erreurs les plus communes : SQL dynamique, fonctions utilisateurs, comparaisons insensibles à la casse.