Concepts de base
Analyse des performances
- Choix de l'outil de surveillance approprié
- Enquête sur les plans avec SHOWPLAN_ALL
- Interprétation des sorties STATISTICS
- Identification des problèmes de performances avec les données présentées par le Générateur de Profils
Développer un plan de surveillance
- Établir un référentiel des performances
- Suivi des changements dans le temps
- Création des traces du Générateur de Profils côté serveur
- Surveillance de SQL Server et du système d'exploitation avec le Moniteur Système
Gestion du stockage
Architecture de la base de données
- Allocation de page et d'extension
- Contrôle du stockage des données avec les groupes de fichiers
Définition des tables
- Choix des types de données appropriés
- Spécification des emplacements physiques texte et image
- Étude des structures de pages internes
Création et gestion des index
- Clusterisés ou non-clusterisés
- Définition de vues indexées
- Analyse et réparation de la fragmentation
Mémoire et verrouillage
Gestion de la mémoire
- Pool de tampon
- Gestionnaire de tampon
- Lazywriter
- Point de contrôle
- Écriture de journaux
Conception de transactions
- Cohérence ou concurrence
- Enquête sur les types de verrouillage et leurs compatibilités
- Choix des niveaux d'isolation
- Conception des transactions pour limiter la durée de verrouillage
- Résolution des problèmes de contention
- Gestion de l'interblocage
- Mise en place du versioning de ligne
Optimisation des requêtes
Architecture de l'optimiseur de requêtes
- Phases
- Stratégies
- Plans d'accès aux données
- Paramétrage automatique
- Éviter la recompilation des requêtes
Maintenance de la mise à jour des statistiques
- Index ou colonnes
- Automatique ou manuelle
- Scan complet ou partiel
Différences entre les types de requêtes
- Point
- Multipoint
- Gamme
- Correspondance des préfixes
- Extrême
- Commande
- Groupe
- Lien
Conception d'index efficaces
- Choix des index en fonction du type de requête
- Spécification de chemins d'accès alternatifs
- Amélioration de la performance des liens
- Augmentation de l'efficacité du tri
- Réduction des E/S avec les index couverts
- Mise en œuvre d'index distribués
- Conseils de conception avec les outils d'optimisation intégrés
Conception physique d'un modèle de données
Stockage de données agrégées pour une récupération plus rapide
- Définition des tables roll-up
- Matérialisation de données agrégées avec des vues indexées
Réduction du temps de réponse en introduisant les données redondantes
- Maintenance des données redondantes avec les déclencheurs
- Amélioration des performances avec les clés de substitution
- Création d'une base de données en lecture seule
Résolution des problèmes de performances grâce au partitionnement
- Partitionnement horizontal et vertical
- Partitionnement de tables
- Définition de vues partitionnées
Gestion de diverses charges de travail
- Création de pools de ressources et de groupes de charges de travail
- Développement d'une fonction de classification