Prenez contact avec nous

Plan du cours

Méthodologie d'optimisation des applications

Architecture de la base de données et de l'instance

  • Processus serveur
  • Structure de la mémoire (SGA, PGA)
  • Analyse (parsing) et curseurs partagés
  • Fichiers de données, journaux (logs) et fichiers de paramètres

Analyse du plan d'exécution des commandes

  • Plan hypothétique (EXPLAIN PLAN, SQLPlus AutoTrace, XPlan)
  • Plan d'exécution réel (V$SQL_PLAN, XPlan, AWR)

Surveillance des performances et détection des goulots d'étranglement

  • Surveillance de l'état actuel de l'instance via les vues dictionnaires système
  • Surveillance des données historiques dans les dictionnaires
  • Tracing applicatif (SQLTrace, TkProf, TRESess)

Processus d'optimisation

  • Optimisation basée sur les coûts et contrôlée
  • Processus de décision pour l'optimisation

Contrôle de l'optimiseur basé sur les coûts par :

  • Paramètres de session et d'instance
  • Indices (hints)
  • Modèles de plans de requête

Statistiques et Histogrammes

  • Impact des statistiques et des histogrammes sur les performances
  • Méthodes de collecte des statistiques et des histogrammes
  • Stratégies de comptage et d'estimation des statistiques
  • Gestion des statistiques : blocage, copie, édition, automatisation de la collecte, surveillance des modifications
  • Échantillonnage dynamique des données (tables temporaires, prédicats complexes)
  • Statistiques multi-colonnes basées sur des expressions
  • Statistiques système

Structure logique et physique de la base de données

  • Espaces de tables (tablespaces)
  • Segments
  • Extensions (EXTENTS)
  • Blocs

Méthodes de stockage des données

  • Aspects physiques des tables
  • Tables temporaires
  • Tables indexées (IOT)
  • Tables externes
  • Tables partitionnées (range, list, hash, hybride)
  • Reorganisation physique des tables

Vues matérialisées et mécanisme QUERY REWRITE

Méthodes d'indexation des données

  • Construction d'index B-TREE
  • Propriétés des index
  • Types d'index : unique, multi-colonnes, fonctionnel, inversé
  • Compression d'index
  • Reconstruction et fusion d'index
  • Index virtuels
  • Index privés et publics
  • Index Bitmap et jointures

Étude de cas - lecture complète des données (full-scan)

  • Impact du placement au niveau des tables et des blocs sur les performances de lecture
  • Chargement de données par chemin conventionnel et direct
  • Ordre des prédicats

Étude de cas - accès aux données via l'index

  • Méthodes de lecture d'index (UNIQUE SCAN, RANGE SCAN, FULL SCAN, FAST FULL SCAN, MIN/MAX SCAN)
  • Utilisation d'index fonctionnels
  • Sélectivité de l'index (Facteur de regroupement / Clustering Factor)
  • Index multi-colonnes et SKIP SCAN
  • NULL et index
  • Tables indexées (IOT)
  • Impact des opérations DML sur les index

Étude de cas - tri (sorting)

  • Tri en mémoire
  • Tri par index
  • Tri linguistique
  • Effet de l'entropie sur le tri (Facteur de regroupement)

Étude de cas - jointures et sous-requêtes

  • Mécanismes de jointure : MERGE, HASH, NESTED LOOP
  • Jointures dans les systèmes OLTP et OLAP
  • Ordre des tables (ordre de changement)
  • Jointures externes (Outer Joins)
  • Anti-join
  • Jointures semi (SEMI-JOIN)
  • Sous-requêtes simples
  • Sous-requêtes corrélées
  • Vues et clause WITH

Autres opérations de l'optimiseur basé sur les coûts

  • Buffer Sort
  • INLIST
  • VIEW
  • FILTER
  • Count Stop Key
  • Result Cache

Requêtes distribuées

  • Lecture des plans de requête utilisant des db links
  • Choix du marqueur de tête (leading hint)

Traitement parallèle

Pré requis

  • Maîtrise solide des bases de SQL et connaissance de l'environnement de base de données Oracle (idéalement avec une formation préalable « Native SQL for Programmers - Workshops » sur Oracle 11g).
  • Expérience pratique du travail avec Oracle.
 28 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires