Embarcadero DB OPTIMIZER 3.7/XE4 Guide de démarrage rapide

Ajouter à Mes manuels
62 Des pages
Embarcadero DB OPTIMIZER 3.7/XE4 Guide de démarrage rapide | Fixfr
Documentation du produit
Embarcadero® DB Optimizer™
Guide de prise en main
Version XE4/3.7
Première édition : Novembre 2013
© 2013 Embarcadero Technologies, Inc. Embarcadero, les logos Embarcadero Technologies, et tous les autres noms de services ou de
produits Embarcadero Technologies sont des marques ou des marques déposées de Embarcadero Technologies, Inc. Toutes les autres
marques sont la propriété de leurs propriétaires respectifs.
Ce logiciel et cette documentation contiennent des informations propriétaires de Embarcadero Technologies, Inc. ; ils sont fournis sous
un contrat de licence contenant des restrictions sur l'usage et la divulgation, et sont aussi protégés par la loi relative aux droits d'auteur.
L'ingénierie inverse du logiciel est interdite.
Embarcadero Technologies, Inc. est un leader maintes fois primé d'outils destinés aux développeurs d'applications et aux professionnels
des bases de données. Ils peuvent ainsi concevoir correctement des systèmes, les construire plus rapidement et mieux les exécuter,
indépendamment de la plate-forme ou du langage de programmation. Quatre-vingt-dix entreprises du classement des 100 premières
entreprises américaines (liste "Fortune 100") et une communauté active de plus de trois millions d'utilisateurs répartis mondialement
comptent sur les produits Embarcadero pour augmenter leur productivité, réduire leurs coûts, simplifier la gestion des modifications et la
conformité, et accélérer l'innovation. Les outils phare de la société sont les suivants : Embarcadero® Change Manager™, CodeGear™
RAD Studio, DBArtisan®, Delphi®, ER/Studio®, JBuilder® et Rapid SQL®. Fondée en 1993, Embarcadero a son siège social à San
Francisco, avec des bureaux dans le monde entier. Visitez le site en ligne de Embarcadero sur www.embarcadero.com.
SIÈ GE S O C IAL
S IÈG E EMOA
1 0 0 C A L I F O R N I A S T RE E T
12TH FLOOR
SA N F R A N CI S C O , CA L I FO R N I A
94111 USA
YO R K H O U S E
1 8 YO R K R O A D
M A I D E N H E A D , B E R K S HI RE
S L 6 1 SF, U N I T E D K I N G D O M
SIÈGE ASIE-PACIFIQUE
L 7 . 3 1 3 L A TRO BE S T RE E T
MELBOURNE VIC 3000
A U ST R A L I A
Sommaire
Introduction à DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
À propos de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Principaux composants de l'interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Limitations de la version d'évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Limitations de DB Optimizer XE Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Exigences techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Problèmes d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Installation de DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Installation de DB Optimizer sur Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Licences DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Introduction à DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Démarrage de DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Présentation de l'interface utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Utilisation de la vue Data Source Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Ajout de sources de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Ajouter une source de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Navigation au sein des sources de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Profilage d'une source de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Démarrage d'une session de profilage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Analyse des données de la session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Load Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Top Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Profiling Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Afficher les détails de la session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Afficher le code SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Enregistrement d'une session de profilage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Enregistrer une session de profilage sous un fichier .oar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Enregistrer une session de profilage dans le référentiel de profilage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Importation d'instructions vers SQL Tuner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Réglage des instructions SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Création d'un nouveau travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Créer un nouveau travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Ajout d'instructions SQL à un travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R X E 4 /3 . 7
3
Sommaire
Ajouter un nouveau texte SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Ajouter un objet de base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Ajouter un fichier SQL enregistré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Ajouter des instructions SQL de SGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Exécution d'un travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Exécuter un travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Analyse des résultats de SQL Tuner sur l'onglet Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Déterminer les meilleurs cas pour le temps du chemin d'exécution de l'instruction . . . . . . . . . . . . . . . . . 40
Recherche des index manquants et des problèmes SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Recherche des index manquants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Exploration du diagramme VST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Affichage ou masquage de la légende du diagramme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Affichage ou masquage du plan d'explication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Affichage ou masquage des compteurs et des ratios des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Affichage ou masquage des colonnes et des index des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Visualisation de tous les champs d'une table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Visualisation du code SQL d'un objet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Visualisation des relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Développement des vues dans le diagramme VST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Recherche d'un code SQL ou d'un schéma problématique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Implémentation des recommandations sur l'onglet
Index Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Accepter la suggestion et générer automatiquement un index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
SQL Code Assist et exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Extraction du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Mise en évidence du code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Détection automatique des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Achèvement du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Hyperliens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Formatage du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Pliage du code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Contrôles de qualité du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Exécution SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Exécuter un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Exécuter une transaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Valider une transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Configuration des paramètres d'exécution SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Modifier les options des sessions SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4
G U I D E D E PRI SE E N M A IN D B O P T I M IZE R X E 4 /3 . 7
INTRODUCTION À DB OPTIMIZER
Embarcadero DB Optimizer simplifie le développement et l'optimisation SQL par le biais de
nombreuses fonctionnalités permettant d'améliorer la productivité et de réduire les erreurs. Un
EDI SQL riche, comprenant le réglage des instructions, le profilage des sources de données,
l'achèvement du code, la vérification des erreurs en temps réel, le formatage du code ainsi que
des outils sophistiqués de validation des objets, vous aide à rationaliser le codage des tâches.
L'interface utilisateur de DB Optimizer vous permet d'améliorer la productivité globale avec des
composants de réglage, de surveillance et de développement intégrés. DB Optimizer offre un
support natif pour IBM® DB2® for LUW, Oracle®, Microsoft® SQL Server et Sybase®, ainsi que
le support JDBC pour d'autres SGBD. Il est disponible sous la forme d'une application
autonome ou d'un plug-in Eclipse. DB Optimizer est structuré et son interface se compose de
trois parties principales. Cette conception fournit un flux de travail complet qui permet le
développement, l'analyse des requêtes et les capacités de réglage. Ce flux de travail, à son tour,
conduit à une gestion des tâches plus efficace en termes de temps et d'efficacité, en général.
À PROPOS DE CE DOCUMENT
Ce document vous aide à installer DB Optimizer et présente les fonctionnalités de base de DB
Optimizer.
REMARQUE : Pour obtenir les dernières versions de la documentation de DB Optimizer et les
informations les plus récentes sur l'installation et la mise à niveau, incluant les
exigences techniques et les bases de données supportées, voir le site web de la
documentation Embarcadero. N'oubliez pas de lire le fichier README pour connaître
les informations les plus récentes ; il se trouve sur docs.embarcadero.com/products/
db_optimizer.
PRINCIPAUX COMPOSANTS DE L'INTERFACE
Les trois principaux composants de l'interface de DB Optimizer sont :
SQL Profiler : La surveillance permanente des sources de données permet de construire un
profil ou modèle statistique de la source de données spécifiée, et signale les principales
activités relatives à la session, aux instructions SQL et aux événements. Ce composant est utilisé
pour localiser et diagnostiquer le code SQL problématique et les goulets d'étranglement basés
sur les événements via son interface graphique. Cette dernière est utilisée pour identifier les
zones problématiques et explorer les instructions individuelles problématiques. En outre, SQL
Profiler permet l'examen des détails des événements d'exécution et de temps d'attente pour les
routines stockées individuelles. Les détails de profilage du composant SQL Profiler ont été
étendus afin de montrer les détails des sessions pour Sybase, SQL Server et le code SQL qui a
été exécuté dans la session sélectionnée pour Sybase, SQL Server et DB2.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
5
Limitations de la version d'évaluation
SQL Tuner : Fournit un moyen facile et optimal de découvrir les chemins efficaces des
requêtes qui peuvent ne pas s'exécuter aussi rapidement et efficacement qu'elles le devraient.
SQL Tuner permet l'optimisation du code SQL à faibles performances à travers la détection et la
modification des chemins d'exécution dans la récupération des données à travers les injections
d'indications. Les utilisateurs reçoivent la liste des cas possibles générés par SQL Tuner, et ils
peuvent sélectionner et mettre à jour une instruction avec le chemin le plus efficace afin de
réduire la charge et améliorer l'efficacité, en général. L'onglet Analysis du composant SQL
Tuner fournit un diagramme graphique d'une requête SQL pour montrer comment les tables de
la requête doivent être jointes afin de satisfaire la requête, et fournit aussi des suggestions sur la
création d'index susceptibles d'augmenter les performances de la requête.
SQL Editor : Simplifie le développement SQL en utilisant les fonctionnalités qui améliorent la
productivité et réduisent les erreurs. Il fournit une interface riche qui propose l'achèvement du
code, le contrôle des erreurs en temps réel, le formatage du code et des outils sophistiqués de
validation des objets. Utilisé en contexte avec SQL Profiler et SQL Tuner, il fournit une interface
de visualisation et d'édition des fichiers SQL et des packages de bases de données.
LIMITATIONS DE LA VERSION D'ÉVALUATION
Les limitations suivantes s'appliquent à la version d'évaluation de DB Optimizer. Ces limitations
sont retirées dès l'achat du produit.
• Le réglage et le profilage de ligne de commande ne sont pas disponibles.
• Le nombre de sessions de profilage que vous pouvez exécuter est limité.
• Le profilage est limité en ce sens que vous ne pourrez pas voir le texte SQL capturé de la
source de données profilée.
• Seul l'onglet Ad Hoc SQL est disponible pour la spécification des sources de réglage. Vous
ne pouvez pas régler les objets de bases de données, les fichiers SQL ou le SGA Oracle.
• Le nombre d'extractions d'instructions de SQL Profiler vers SQL Tuner est limité.
• Dans l'éditeur de réglage, les actions Case suivantes sont désactivées : Clone Case, Edit
Case et Create Custom Case.
LIMITATIONS DE DB OPTIMIZER XE DEVELOPER
Les fonctionnalités suivantes ne sont pas supportées sur DB Optimizer XE Developer :
• VST (Visual SQL Tuning).
• L'analyse des indications via l'injection d'indications SQL pour les sources de données
Oracle.
• L'enregistrement des sessions de profils dans un référentiel de source de données Oracle.
6
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
INSTALLATION
Cette section vous aide à installer DB Optimizer. Elle est constituée des rubriques suivantes :
• Problèmes d'installation page 7
• Installation de DB Optimizer page 7
REMARQUE : Pour obtenir des informations sur l'installation de DB Optimizer XE, incluant
Embarcadero AppWave, consultez les guides AppWave Quick Start Guide et
AppWave Administrator Guide sur docs.embarcadero.com/products/appwave.
EXIGENCES TECHNIQUES
Pour obtenir des informations sur les exigences techniques de DB Optimizer, notamment les
bases de données et les systèmes d'exploitation supportés, consultez le Readme sur
docs.embarcadero.com/products/db_optimizer.
PROBLÈMES D'INSTALLATION
DB Optimizer doit être installé dans un répertoire différent de celui des versions précédentes de
DB Optimizer. Si DB Optimizer est installé dans le même répertoire, l'erreur suivante se produira
au démarrage de l'application : "Unable to read workbench state. Workbench UI layout will be
reset".
Si une version précédente est déjà installée sur votre machine, changez le répertoire Workspace
par défaut ou supprimez tous les fichiers du répertoire Workspace. L'emplacement du répertoire
Workspace apparaît chaque fois que vous démarrez DB Optimizer, et il peut être redéfini dans
cette boîte de dialogue. Si le même espace de travail (Workspace) est indiqué pour la nouvelle
version que celui indiqué préalablement, vous obtiendrez l'erreur suivante : "Cannot restore
workbench layout".
Si DB Optimizer est déjà en cours d'exécution, vous pouvez aussi modifier le répertoire
Workspace en choisissant File > Switch Workspace > Other dans le menu principal.
INSTALLATION DE DB OPTIMIZER
Pour installer DB Optimizer, exécutez l'installateur et suivez les invites fournies par l'expert
d'installation. Quand l'installation est terminée, examinez le fichier ReadMe pour vérifier s'il
contient des conseils ou des problèmes connus qui affecteront l'installation de votre produit.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R X E 4 /3 . 7
7
Installation de DB Optimizer
INSTALLATION DE DB OPTIMIZER SUR LINUX
1 Téléchargez l'installateur de DB Optimizer et définissez les permissions d'exécution comme
suit :
chmod 755 dbo_<version>.bin
2 Lancez l'installateur en mode GUI (interface utilisateur graphique) à partir de la console.
./dbo_<version>.bin
L'écran de démarrage de DB Optimizer apparaît pendant un bref instant, puis le dialogue
de l'installateur apparaît.
3 Sur le dialogue Introduction, cliquez sur Next.
4 Sur le dialogue License Agreement, lisez le contrat de licence (License Agreement),
sélectionnez "I accept the terms of the License Agreement", puis cliquez sur Next.
5 Sur le dialogue Choose Install Set, choisissez l'une des deux options et cliquez sur Next.
• Install as Standalone Application : Cette option installe DB Optimizer en tant
qu'application autonome, sans prérequis.
• Install as Eclipse Plug-in : Cette option requiert Eclipse 3.5 ou une version supérieure, ou
une application RCP basée sur Eclipse.
6 Sur le dialogue Choose Install Folder, selon l'option préalablement sélectionnée, vous
pouvez sélectionner un dossier de destination pour l'installation de la version autonome, ou
naviguer jusqu'au dossier contenant Eclipse 3.6 (ou une version supérieure) ou une
application RCP basée sur Eclipse 3.6.
7 Après la sélection du dossier désiré, cliquez sur Next.
8 Sur le dialogue Choose Link Folder, vous pouvez changer l'emplacement où les liens
Application/Uninstall sont créés. Choisissez l'une des options et cliquez sur Next.
9 Sur le dialogue Pre-Installation Summary, vérifiez les détails de l'installation puis cliquez sur
Install.
Le dialogue Installing montre la progression de l'installation ; il se ferme à la fin de
l'installation.
10 Quand le dialogue Install Complete apparaît, vous pouvez sélectionner Start
Embarcadero DB Optimizer et cliquer sur Done si vous voulez démarrer l'application pour
une première utilisation.
8
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Installation de DB Optimizer
LICENCES DB OPTIMIZER
DB Optimizer supporte les types de licence suivants :
• Licences d'évaluation : Une licence d'une durée de 14 jours, pour une version d'évaluation
incluant toutes les fonctionnalités du produit. La licence d'évaluation doit être enregistrée
pour utiliser le produit. Pour de plus amples informations, voir "Enregistrement d'une
licence d'évaluation ou d'une licence de station de travail au démarrage de l'application"
page 9.
• Licences de station de travail ou licences d'utilisateurs nommés : Une licence ou un
ensemble de licences qui est lié à une station de travail particulière. Le produit ne peut être
utilisé que sur cette station de travail. Pour de plus amples informations, voir
"Enregistrement d'une licence de station de travail au démarrage de l'application" page 10.
• Licences d'utilisateurs simultanés : Si vous utilisez AppWave et DB Optimizer, vous pouvez
aussi disposer de licences d'utilisateurs simultanés qui sont des licences flottantes
permettant l'utilisation simultanée d'une licence par un nombre spécifique d'utilisateurs,
sans lier la licence à un numéro de série de station de travail spécifique. Pour de plus amples
informations, voir la section "Licensing" du guide AppWave Administrator Guide.
Si vous rencontrez des problèmes d'enregistrement, voir "Enregistrement par téléphone"
page 10.
Enregistrement d'une licence d'évaluation ou d'une licence de station de travail au
démarrage de l'application
Peu de temps après le téléchargement d'une version d'évaluation d'un produit Embarcadero,
Embarcadero vous envoie un email contenant un numéro de série qui doit être enregistré
comme suit. Ces instructions s'appliquent aussi si vous avez acheté un produit et reçu un
numéro de série avant d'exécuter l'application pour la première fois, ou si la période
d'évaluation a expiré.
1 Démarrez l'application.
Le dialogue Embarcadero License Registration apparaît.
2 Copiez le numéro de série de l'email, puis collez-le dans le champ Serial Number.
3 Entrez les informations d'identification de votre compte EDN (Embarcadero Developer
Network, Réseau Développeurs Embarcadero) dans les champs Login or Email et
Password.
Si vous n'avez pas créé auparavant un compte EDN, ou si vous avez oublié votre mot de
passe, cliquez sur I need to create ... ou I've lost my password.
4 Cliquez sur Register.
Le fichier d'activation doit se télécharger et s'installer automatiquement. Si cela ne se
produit pas, cliquez sur le lien Trouble Connecting? Try Web Registration et suivez les
invites. Si vous avez toujours des problèmes, voir "Enregistrement par téléphone" page 10.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
9
Installation de DB Optimizer
Enregistrement d'une licence de station de travail au démarrage de l'application
Les instructions suivantes supposent que vous avez reçu une licence de station de travail par
email et que vous disposez actuellement d'une licence d'évaluation valide. Si vous n'avez pas
installé de version d'évaluation ou si la période d'évaluation a expiré, suivez à la place les
instructions de la section "Enregistrement d'une licence d'évaluation ou d'une licence de station
de travail au démarrage de l'application" page 9.
1 Cliquez sur Help > Launch License Manager.
2 Dans le dialogue License Manager, cliquez sur Serial > Add.
3 Copiez le numéro de série de l'email, collez-le dans le champ Add Serial Number, puis
cliquez sur OK.
4 Développez Unregistered Serial Numbers, cliquez avec le bouton droit sur le numéro de
série que vous venez d'ajouter, puis cliquez sur Register.
Un dialogue d'enregistrement apparaît.
REMARQUE : La zone Registration Code contient un identificateur spécifique à la machine, requis
avec d'autres méthodes d'enregistrement.
5 Assurez-vous que Register using Online Registration est sélectionné.
6 Fournissez les informations d'identification du Réseau Développeurs (EDN) dans les champs
Login or Email et Password.
7 Cliquez sur Register.
Le fichier d'activation doit se télécharger et s'installer automatiquement. Si cela ne se
produit pas, cliquez sur le lien Trouble Connecting? Try Web Registration et suivez les
invites. Si vous avez toujours des problèmes, voir "Enregistrement par téléphone" page 10.
Enregistrement par téléphone
Si vous avez rencontré des problèmes avec les procédures ci-dessus, vous pouvez enregistrer les
licences par téléphone. Vous devez fournir les informations suivantes :
• Informations d'identification EDN (Embarcadero Developer Network)
• Le code d'enregistrement affiché dans le dialogue Embarcadero License Registration qui
apparaît lorsque vous démarrez une application pour laquelle vous n'avez pas enregistré
une licence
• Le numéro de série de la licence de base du produit
• Le numéro de série de licence pour toute fonctionnalité supplémentaire que vous avez
achetée.
Pour l'Amérique du Nord, l'Amérique latine et l'Asie-Pacifique : composez le (415) 834-3131
option 2, puis suivez les invites. Les horaires sont du Lundi au Vendredi, de 6:00 à 18:00 Heure du
Pacifique.
10
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Installation de DB Optimizer
Pour l'Europe, l'Afrique et le Moyen Orient : composez le +44 (0)1628-684 494. Les horaires sont
du Lundi au Vendredi, de 9:00 à 17:30 Heure U.K.
Peu de temps après l'appel téléphonique, vous recevrez un email contenant un fichier
d'activation. Procédez ensuite de la manière suivante :
1 Enregistrez le fichier d'activation sur le bureau ou dans un répertoire temporaire tel que
c:\temp.
2 Depuis l'application, cliquez sur Help > Launch License Manager.
3 Cliquez sur License > Import.
4 Naviguez jusqu'au répertoire dans lequel vous avez enregistré le fichier d'activation, puis
double-cliquez sur le fichier d'activation.
5 Cliquez sur le bouton Import pour importer le fichier d'activation, puis cliquez sur Finish.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
11
Installation de DB Optimizer
12
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
INTRODUCTION À DB OPTIMIZER
Les sessions de tutoriels suivantes vous permettent de vous familiariser avec DB Optimizer. Leur
objectif est de vous fournir les bases nécessaires à l'utilisation complète des fonctionnalités et
des avantages de DB Optimizer, et de les appliquer à votre entreprise. Cette section contient
des informations sur la façon d'enregistrer les sources de données de votre entreprise, de
profiler, d'analyser et de régler les instructions SQL, les sessions et les événements afin
d'optimiser l'efficacité de vos sources de données, ainsi que d'identifier et d'empêcher les
goulets d'étranglement système et autres problèmes liés à l'attente.
Ce guide est constitué des sections suivantes :
• Démarrage de DB Optimizer page 13
• Présentation de l'interface utilisateur page 14
• Utilisation de la vue Data Source Explorer page 16
• Profilage d'une source de données page 21
• Réglage des instructions SQL page 30
• SQL Code Assist et exécution page 52
DÉMARRAGE DE DB OPTIMIZER
Depuis le bureau, choisissez le menu Démarrer de Windows, puis sélectionnez Tous les
programmes > Embarcadero > Embarcadero DB Optimizer X.X > Embarcadero DB
Optimizer X.X.
Help sur la barre
de menus pour trouver des ressources supplémentaires qui complètent les
fonctionnalités et tâches présentées dans ce guide.
REMARQUE : Dès que vous avez démarré l'application, vous pouvez sélectionner
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
13
Présentation de l'interface utilisateur
PRÉSENTATION DE L'INTERFACE UTILISATEUR
L'environnement de l'application DB Optimizer, connu sous le terme Workbench, fournit une
interface dans laquelle vous gérez les sources de données, analysez et réglez les instructions. Le
Workbench est composé d'éléments d'interface communs qui fournissent des outils pour
accomplir ces tâches. Ces objets fournissent un système uniforme pour les opérations relatives
aux travaux de réglage, aux sessions de profils et aux sources de données.
Le Workbench fournit un environnement pour construire les sessions de profilage et régler les instructions des requêtes.
L'espace du Workbench est composé de vues, d'éditeurs, de la barre de menus et de la barre
d'outils de commandes. Les vues et les éditeurs vous permettent d'exécuter les tâches et les
fonctions de DB Optimizer, ainsi que gérer les ressources.
14
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Présentation de l'interface utilisateur
• Les vues sont utilisées pour naviguer au sein d'une hiérarchie d'informations, ouvrir des
éditeurs ou afficher les propriétés des divers éléments de l'application. Par exemple, la vue
Data Source Explorer fournit une arborescence de toutes les sources de données de
l'environnement et des travaux de comparaison associés à chacune. Vous pouvez lancer ces
travaux directement depuis la vue Data Source Explorer, modifier les propriétés de
connexion des sources de données, ou créer et modifier les archives de configuration à
partir de cette vue.
• Les éditeurs sont utilisés pour accéder aux fonctionnalités de DB Optimizer. Par exemple,
SQL Editor fournit un moyen de visualiser, de modifier et d'enregistrer le code SQL. Les
éditeurs se distinguent des vues, dans la mesure où ils opèrent sur un niveau individuel. SQL
Profiler et SQL Tuner sont aussi considérés comme des éditeurs.
• La barre de menus et la barre d'outils de commandes contiennent des commandes qui
exécutent divers aspects fonctionnels de l'application, tels que le lancement des vues et des
éditeurs, les commandes de navigation et le paramétrage des préférences
d'environnement. La barre d'outils de commandes contient des icônes qui représentent des
commandes de menu spécifiques.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
15
Présentation de l'interface utilisateur
UTILISATION DE LA VUE DATA SOURCE EXPLORER
La vue Data Source Explorer (explorateur de sources de données) fournit une vue arborescente
de toutes les sources de données enregistrées. Elle décompose les composants de chaque
source de données et classe par catégories les bases de données et les objets de bases de
données correspondants par type d'objet et code SQL sous-jacent. Cette fonctionnalité fournit
une vue du contenu des sources de données de votre entreprise dans une interface cataloguée
et facilement navigable.
L'explorateur de sources de données trie les bases de données et les objets de bases de données par catégorie dans DB Optimizer.
Si les sources de données sont particulièrement larges ou complexes, ou si vous ne développez
que des objets spécifiques, vous pouvez appliquer des filtres d'objets de bases de données sur
la vue de l'explorateur de sources de données.
16
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Présentation de l'interface utilisateur
AJOUT DE SOURCES DE DONNÉES
Afin de profiler et régler les instructions, vous devez enregistrer les sources de données à
analyser dans l'environnement en fournissant des informations de connexion et d'autres détails
à DB Optimizer. Les sources de données sont enregistrées et gérées dans le Data Source
Explorer, l'explorateur de sources de données. Chaque fois que vous enregistrez une nouvelle
source de données, vous devez spécifier ses informations de connexion et les organiser dans la
vue, si nécessaire. Dès qu'une source de données a été enregistrée, elle reste stockée dans un
catalogue et il n'est pas nécessaire de l'enregistrer à nouveau à chaque ouverture de
DB Optimizer. En outre, elle peut être utilisée dans plusieurs travaux, archivée ou par ailleurs
"partagée" en ce qui concerne les fonctionnalités générales de l'application.
La vue Data Source Explorer fournit une arborescence organisationnelle des sources de données enregistrées et des paramètres
associés à ces sources.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
17
Présentation de l'interface utilisateur
AJOUTER UNE SOURCE DE DONNÉES
Sélectionnez Data Source Explorer et choisissez File > New > Data Source dans la barre
de menus. L'expert New Data Source apparaît. Suivez les invites pour enregistrer la source
de données.
CONSEIL :
18
Vous pouvez catégoriser les sources de données afin de les colorer dans le Data
Source Explorer, ce qui facilite la recherche de la source de données à partir d'une
longue liste de sources de données. La source de données sera décorée avec la
couleur associée à la catégorie sélectionnée pour la source de données. L'ensemble
de catégories préconfigurées comprend les catégories Development, Test, QA et
Production. Vous pouvez également créer des catégories personnalisées. Les sources
de données existantes peuvent être catégorisées en utilisant la page Data Source
Properties. Cliquez avec le bouton droit sur une source de données déconnectée et
sélectionnez Properties.
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Présentation de l'interface utilisateur
NAVIGATION AU SEIN DES SOURCES DE DONNÉES
Pour analyser et régler les instructions relatives aux sources de données existant dans votre
entreprise, vous devez accéder aux objets de sources de données au sein de l'application. Il est
important de visualiser les bases de données et le code sous-jacent d'une façon organisée, en
particulier lors de la maintenance d'un système important. La structure arborescente de
l'explorateur de sources de données peut être utilisée pour visualiser les bases de données, les
tables et autres informations relatives aux sources de données. Développez les noeuds de
chaque source de données enregistrée pour visualiser les détails relatifs à chacune.
L'explorateur de sources de données est aussi utilisé pour lancer les sessions de profilage, en
vous permettant de sélectionner la source de données à exécuter, puis en lançant une session
de profilage depuis votre sélection.
L'arborescence de l'explorateur de sources de données fournit la liste des bases de données, et vous permet de lancer les
fonctionnalités de DB Optimizer, telles que SQL Profiler, via le menu contextuel.
Tous les objets listés dans l'explorateur de sources de données sont triés par nom de source de
données. Vous pouvez en outre visualiser le code SQL sous-jacent de chaque objet de base de
données individuel.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
19
Présentation de l'interface utilisateur
Naviguer au sein d'une source de données
1 Développez un noeud de source de données et fournissez, si vous y êtes invité, les
informations de connexion.
2 Développez les sous-noeuds supplémentaires pour explorer les types d'objets et les objets
individuels.
3 Double-cliquez sur le sous-noeud Code d'un objet particulier pour visualiser le code dans
SQL Editor.
Notez que, dans l'écran précédent, des référentiels de profilage (Profiling Repositories) sont
listés dans l'explorateur de sources de données. Pour les sources de données Oracle
uniquement, vous pouvez enregistrer vos sessions de profilage dans le référentiel de profilage
afin de les examiner ultérieurement. Nous traiterons ce sujet plus loin dans "Enregistrement
d'une session de profilage" page 28.
20
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Profilage d'une source de données
PROFILAGE D'UNE SOURCE DE DONNÉES
REMARQUE : Le composant SQL Profiler n'est pas disponible dans la version "Basic" de DB
Optimizer.
SQL Profiler échantillonne une source de données et construit un modèle de la charge sur la
base de données. Le profilage est utilisé pour localiser et diagnostiquer le code SQL
problématique et les goulets d'étranglement basés sur les événements. SQL Profiler vous
permet aussi d'examiner les détails des événements d'exécution et de temps d'attente pour les
routines stockées individuelles. Les résultats sont présentés dans l'éditeur de profilage, où vous
pouvez identifier les zones problématiques et visualiser les instructions SQL individuelles, si
nécessaire.
SQL Profiler analyse et fournit un modèle de la charge de la base de données qui identifie le code problématique et les goulets
d'étranglement basés sur les événements.
SQL Profiler est composé des parties de diagnostic suivantes :
• La section Load Graph fournit un affichage de la charge globale sur le système. Les barres
représentent les aspects individuels de la source de données.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
21
Profilage d'une source de données
• La section Top Activity affiche l'origine de la charge. Les onglets disponibles dans cette
section diffèrent selon la plate-forme. Parmi ceux généralement disponibles, les instructions
SQL d'activité supérieure, les événements pour lesquels la base de données consomme le
plus de temps, et les sessions d'activité supérieure qui peuvent causer des problèmes en
termes de temps de requête et de réponse.
• La vue Profiling Details affiche des informations détaillées pour tout élément sélectionné
dans la section Top Activity. Par exemple, l'examen d'une instruction SQL depuis la section
Top Activity affiche les paramètres d'identification et les statistiques d'exécution de
l'instruction sélectionnée.
DÉMARRAGE D'UNE SESSION DE PROFILAGE
Afin d'accéder à SQL Profiler, vous devez exécuter une session de profilage sur une source de
données enregistrée dans l'explorateur de sources de données.
Exécuter une session de profilage
Dans l'explorateur de sources de données, cliquez avec le bouton droit sur une source de
données et sélectionnez Profile As > Data Source. La session de profilage commence.
La vue Progress indique que la session de profilage a été lancée.
Dès qu'une session de profilage est lancée, elle s'exécute jusqu'à ce que vous l'arrêtiez ou
jusqu'à la fin de sa durée de vie spécifiée. Vous pouvez arrêter une session en cliquant sur
l'icône Stop située sur le côté droit de la barre de progression du profilage.
Quand la session de profilage est terminée, les deux premières sections (Load Chart et Top
Activity) sont remplies par les informations de charge de la base de données. Vous pouvez alors
commencer l'analyse des données et l'identification des zones problématiques.
22
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Profilage d'une source de données
ANALYSE DES DONNÉES DE LA SESSION
SQL Profiler est composé de trois vues de diagnostic essentielles qui fournissent des
informations relatives à la charge sur une base de données particulière du système. Ces vues
vous permettent d'identifier les goulets d'étranglement et de visualiser les détails relatifs à des
requêtes spécifiques en cours d'exécution ou en attente lors d'une session de profilage.
SQL Profiler est composé des trois composants suivants, listés par ordre décroissant de
granularité :
• Load Chart page 23
• Top Activity page 24
• Profiling Details page 25
LOAD CHART
Le composant Load Chart fournit un aperçu de la charge sur le système, et a été conçu en tant
que point d'entrée de niveau élevé pour la lecture des résultats de la session. Les barres
colorées représentent les aspects individuels de la base de données, et le graphe peut être
utilisé pour découvrir les goulets d'étranglement.
Le composant Load Chart affiche la charge globale de la base de données analysée avec SQL Profiler.
L'heure est affichée sur l'axe X, et l'axe Y présente le nombre moyen de sessions en attente ou
en cours d'exécution. Chaque type de plate-forme de support a un ensemble spécifique
d'heures d'événements d'attente. Par exemple, les plates-formes Sybase afficheront les
catégories CPU, Lock, Memory, I/O, Network et Other. Utilisez la légende du graphe pour
interpréter le graphe. Elle affiche un schéma de code et de couleur pour les catégories de
session d'attente et d'exécution dans le coin supérieur droit du graphe.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
23
Profilage d'une source de données
TOP ACTIVITY
Sous la section Load Graph, la section Top Activity affiche l'origine de la charge et expose des
éléments tels que les instructions SQL, les événements et les sessions d'activité supérieure sur la
base de données. Elle est composée d'une série d'onglets spécifiques à la plate-forme SGBD
qui fournissent des statistiques détaillées sur les instructions SQL individuelles et les sessions en
attente ou en cours d'exécution sur la durée de la session de profilage.
La section Top Activity affiche une vue plus détaillée de la section Load Graph. Elle identifie les instructions, les événements et les
sessions d'activité supérieure, en attente ou en cours d'exécution sur la durée de la session de profilage.
Alors que les onglets disponibles varient selon la plate-forme, les onglets les plus communs sont
présentés ci-après :
• L'onglet Overview fournit des informations récapitulatives sur les événements et les
instructions SQL ainsi que leurs niveaux d'activité, les sessions, leurs identificateurs de
processus système et leur niveau d'activité. Vous pouvez réordonner les lignes de chaque
section de cet onglet. Par exemple, cliquer sur la colonne Event de la section Events
change l'ordre alphabétique de croissant à décroissant et inversement.
• L'onglet SQL fournit des informations sur les procédures et les instructions SQL. Sont
incluses toutes les instructions INSERT, SELECT, DELETE et UPDATE en cours d'exécution
ou en attente d'exécution sur la durée de la session de profilage.
• L'onglet Events affiche des informations sur les événements d'attente, et doit être utilisé
pour effectuer le réglage au niveau configuration de l'application ou de la base de données.
Par exemple, si les événements d'activité supérieure sont verrouillés, la logique de
l'application doit alors être examinée. Si les événements d'activité supérieure sont associés
à la configuration de la base de données, celle-ci doit alors être étudiée.
• L'onglet Sessions affiche des informations sur les sessions, et peut être utilisé pour
découvrir les sessions qui sont très actives ou contiennent des goulets d'étranglement.
• L'onglet Object I/O fournit des informations à propos des entrées/sorties lors du profilage
d'une source de données Oracle.
• L'onglet Procedures fournit des informations à propos des procédures s'exécutant dans la
session lors du profilage d'une source de données SQL Server ou Sybase.
24
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Profilage d'une source de données
PROFILING DETAILS
Quand vous sélectionnez un élément de la section Top Activity, les détails sont affichés sur la vue
Profiling Details.
CONSEIL :
Sélectionnez Windows > Show View > Profiling Details pour afficher la vue Profiling
Details.
Les onglets constituant la vue Profiling Details dépendent de la nature de l'objet sélectionné
dans la section Top Activity, afin de refléter les informations spécifiques à cet élément. Les
onglets dépendent aussi de la plate-forme de la source de données. Par exemple, l'onglet
Object I/O est disponible seulement pour la plate-forme Oracle, alors que l'onglet Procedures
est disponible seulement pour les plates-formes SQL Server, Sybase et Oracle.
La vue Profiling Details affiche des informations de paramètres détaillées sur une instruction, un événement ou une session ayant été
sélectionné dans la section Top Activity. Les données affichées varient aussi selon la plate-forme de base de données.
Selon la plate-forme de source de données spécifiée, les onglets apparaissant dans la vue sont
différents afin de s'adapter aux paramètres spécifiques à l'instruction que vous avez
sélectionnée.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
25
Profilage d'une source de données
Certains onglets peuvent être indisponibles selon l'activité supérieure sélectionnée et les types
de plate-forme profilés.
REMARQUE : Lors d'un clic droit sur une instruction SQL dans la section Top Activity du SQL Profiler,
si l'instruction SQL est exécutée par un utilisateur autre que celui qui exécute
DB Optimizer, le dialogue User Mismatch apparaît alors, avec un message similaire au
message suivant : This query was executed by [SOE] and you are currently
connected as [system]. We recommend you reconnect as [SOE] to tune the SQL.
Would you like to continue anyway? Ce message indique que l'instruction est en
cours de réglage par un utilisateur autre que celui qui a initialement exécuté la requête,
et des tables peuvent être manquantes selon les différents schémas. Cliquez sur OK
pour exécuter la requête, ou sur Cancel et exécutez le travail de réglage sous le nom
de l'utilisateur original.
AFFICHER LES DÉTAILS DE LA SESSION
1 Dans la colonne Sessions de la zone Profile Session du SQL Profiler, cliquez n'importe où
dans la ligne d'une application qui a été exécutée pendant la session de profilage.
2 Dans la zone Profiling Details, cliquez sur l'onglet Sessions.
Les détails de la session sont affichés.
AFFICHER LE CODE SQL
1 Dans la zone Profile Session du SQL Profiler, cliquez n'importe où dans la ligne d'une
application qui a été exécutée pendant la session de profilage.
2 Dans la zone Profiling Details, cliquez sur l'onglet SQL Text ou SQL.
Le texte SQL associé est affiché.
26
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Profilage d'une source de données
CONSEIL :
Depuis l'onglet SQL, vous pouvez facilement régler une instruction en cliquant avec le
bouton droit sur une instruction pour lancer le programme de réglage, qui s'ouvre alors
avec l'instruction sélectionnée dans l'onglet Ad hoc SQL du Tuner Input.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
27
Profilage d'une source de données
ENREGISTREMENT D'UNE SESSION DE PROFILAGE
Une session de profilage peut être enregistrée dans un fichier avec un suffixe .oar qui contient
le nom de la source de données. Lors du profilage de sources de données Oracle, vous pouvez
également enregistrer les données de la session dans le référentiel de profilage. Cela vous
permet d'ouvrir plus tard le fichier à des fins d'analyse.
ENREGISTRER UNE SESSION DE PROFILAGE SOUS UN FICHIER .OAR
Sélectionnez la session de profilage, puis choisissez File > Save As. Spécifiez
l'emplacement du projet dans lequel vous voulez enregistrer le fichier et modifiez le nom du
fichier, le cas échéant. Cliquez sur OK. Le projet est ajouté à SQL Project Explorer,
l'explorateur de projets SQL.
Dès que vous avez enregistré une session de profilage, elle apparaît dans SQL Project Explorer
(l'explorateur de projets SQL) sous le nom enregistré. Vous pouvez l'ouvrir à nouveau en doublecliquant sur le nom du projet.
28
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Profilage d'une source de données
ENREGISTRER UNE SESSION DE PROFILAGE DANS LE RÉFÉRENTIEL DE PROFILAGE
La session peut aussi être enregistrée automatiquement sous un fichier référentiel de profilage
dans une source de données Oracle. Cela vous permet de profiler votre source de données
pour une plus longue période de temps, des jours et même des semaines.
Cliquez avec le bouton droit sur la source de données à profiler et sélectionnez Profile As >
Profile Configurations.
Dans le dialogue Profile Configurations, sélectionnez Save to data source puis la source
de données où vous voulez enregistrer les sessions de profils.
Le fichier session enregistré, nommé en utilisant la date et l'heure de l'arrêt de la session de
profilage, peut être visualisé depuis l'explorateur de sources de données, et être ainsi
disponible pour un partage avec d'autres utilisateurs de DB Optimizer.
IMPORTATION D'INSTRUCTIONS VERS SQL TUNER
SQL Profiler vous permet de soumettre une ou plusieurs instructions dans SQL Tuner. Cela vous
permet de profiter des suggestions basées sur les transformations et les indications de SQL
Tuner si vous voulez régler une instruction problématique que vous avez détectée au cours
d'une session de profilage.
Les commandes du menu contextuel de SQL Profiler vous permettent d'importer des instructions dans un travail de réglage
directement à partir de l'interface de SQL Profiler.
Importer une instruction de SQL Profiler vers SQL Tuner
Sélectionnez une ou plusieurs instructions dans SQL Profiler, cliquez avec le bouton droit
puis sélectionnez Tune dans le menu contextuel. SQL Tuner s'ouvre et contient les
instructions sélectionnées dans un nouveau travail de réglage. Vous pouvez maintenant
procéder au réglage des instructions problématiques.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
29
Réglage des instructions SQL
RÉGLAGE DES INSTRUCTIONS SQL
SQL Tuner fournit un moyen facile et optimal de découvrir les chemins efficaces des requêtes
qui peuvent ne pas s'exécuter aussi rapidement et efficacement qu'elles le devraient. SQL Tuner
permet l'optimisation du code SQL à faibles performances à travers la détection et la
modification des chemins d'exécution utilisés dans la récupération des données. Cela est
principalement possible grâce à l'injection d'indications et l'analyse des index et des
statistiques.
SQL Tuner analyse les instructions SQL spécifiées, puis fournit les directives de chemin d'exécution. Cela vous permet de
sélectionner d'autres chemins pour les requêtes, optimisant ainsi les performances système en fonction de l'analyse.
Par exemple, si le réglage consiste à effectuer une sélection depuis deux tables (A et B), il
permettra la jointure de A à B, ou de B à A, ainsi que la forme de jointure. En outre, différentes
méthodes de jointure, telles les boucles imbriquées et les jointures de "hachage", peuvent être
utilisées et seront testées, comme il convient. SQL Tuner sélectionnera d'autres chemins et vous
permettra de remplacer le chemin original par un de ces chemins alternatifs. Les chemins
d'exécution plus lents que le chemin original sont éliminés, ce qui vous permet de sélectionner
la plus rapide des sélections renvoyées et d'améliorer les temps des requêtes, en général.
Cela permet à l'administrateur de la base de données (DBA) d'optimiser correctement les
requêtes quand l'optimiseur natif a échoué.
30
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
CRÉATION D'UN NOUVEAU TRAVAIL DE RÉGLAGE
De nouveaux travaux de réglage sont créés à partir de zéro là où vous pouvez spécifier les
instructions à régler depuis diverses sources. Les instructions peuvent aussi être directement
importées à partir de sessions de profilage existantes sur des sources de données actuellement
enregistrées dans l'environnement.
Les travaux de réglage sont définis dans SQL Tuner en spécifiant la source de données et les instructions correspondantes à régler,
puis en exécutant le processus de travail de réglage.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
31
Réglage des instructions SQL
CRÉER UN NOUVEAU TRAVAIL DE RÉGLAGE
Si, depuis une session de profilage, vous avez déterminé qu'une instruction SQL spécifique
doit être réglée, cliquez avec le bouton droit sur l'instruction dans la zone Profile Session et
sélectionnez Tune comme suit :
OU
Sélectionnez File > New > Tuning Job ou cliquez sur l'icône New Tuning Job de la barre
d'outils. SQL Tuner s'ouvre et vous pouvez procéder à la configuration des paramètres du
nouveau travail.
Dès que vous avez défini l'entrée du travail de réglage, vous pouvez enregistrer le fichier
avec un suffixe .tun via la commande Save As.... Le travail est ajouté à l'explorateur de
projets SQL et il peut être à nouveau ouvert et exécuté à tout moment dès son
enregistrement dans le système.
32
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
AJOUT D'INSTRUCTIONS SQL À UN TRAVAIL DE RÉGLAGE
Dès que vous avez créé un nom pour le travail de réglage et indiqué sa source, vous pouvez
ajouter des instructions SQL à régler. Les instructions sont ajoutées à un travail via les options
disponibles dans la liste SQL de l'onglet Overview. Toutes les instructions DML standard
(SELECT, INSERT, DELETE, UPDATE) sont viables pour la procédure de réglage. Sur SQL Server
2008 et versions supérieures, les instructions MERGE peuvent également être réglées.
Les instructions sont ajoutées à un travail de réglage via l'onglet Overview.
Il existe quatre ou cinq façons différentes d'ajouter des instructions SQL à un travail, comme
indiqué par les options disponibles dans la liste SQL illustrée ci-dessus :
• New SQL Text : Copier / coller les instructions SQL dans la fenêtre New SQL Text ou écrire
manuellement les requêtes. Vous pouvez aussi coller une instruction directement dans la
grille d'instructions Overview en copiant l'instruction, puis en cliquant avec le bouton droit
n'importe où sur cette grille et en sélectionnant Paste.
• Extract from Database Object : Glisser-déposer les objets de base de données de
l'explorateur de sources de données sur la grille Statements de l'onglet Overview.
• Import from File (Workspace) et Import from File (System) : Naviguer au sein de l'espace
de travail ou du système de fichiers et sélectionner les fichiers SQL.
• Scan Oracle SGA : Pour la plate-forme Oracle seulement, vous pouvez aussi analyser la
zone SGA (System Global Area) pour les instructions à régler.
AJOUTER UN NOUVEAU TEXTE SQL
Dans la liste SQL, sélectionnez New SQL Text et tapez manuellement une instruction SQL dans
la fenêtre. Vous pouvez aussi copier et coller l'instruction depuis une autre source.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
33
Réglage des instructions SQL
34
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
AJOUTER UN OBJET DE BASE DE DONNÉES
Dans la liste SQL, sélectionnez Extract from Database Object. Le dialogue Data Source
Objects Selection apparaît. Tapez un modèle ou un préfixe de nom d'objet dans le champ
fourni et choisissez une instruction dans la fenêtre parmi les correspondances proposées par
rapport au texte saisi.
CONSEIL :
Vous pouvez aussi faire glisser un objet tel que Packages, Package Bodies, Views et
Functions, de l'explorateur de sources de données vers la grille de l'onglet Overview.
REMARQUE : Pour faire glisser un objet de base de données sur l'onglet Overview, cet objet doit
être situé dans la même base de données que celle affichée dans la barre de navigation
en haut de la fenêtre Tuning dans l'explorateur de sources de données.
AJOUTER UN FICHIER SQL ENREGISTRÉ
Depuis la liste SQL, sélectionnez Import from File (Workspace) ou Import from File (File
System), selon l'emplacement de stockage du fichier à ajouter. Sélectionnez un fichier dans le
dialogue qui apparaît pour l'ajouter au travail de réglage.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
35
Réglage des instructions SQL
AJOUTER DES INSTRUCTIONS SQL DE SGA
Dans la liste SQL, sélectionnez Scan Oracle SGA. Spécifiez les filtres de votre choix, puis cliquez
sur Next. Dans la liste des instructions SQL récupérées depuis SGA, sélectionnez les instructions
à optimiser et cliquez sur Finish. Les instructions sélectionnées sont copiées dans le travail de
réglage.
EXÉCUTION D'UN TRAVAIL DE RÉGLAGE
Après l'ajout des instructions SQL au travail, cliquez sur l'onglet Overview. Dès que vous avez
choisi vos options de réglage et cliqué sur l'icône Run Job, le DML (Data Manipulation
Language) est analysé depuis les instructions et ajouté dans la zone Generated Cases. Les cas
générés sont des chemins d'explication ou d'exécution alternatifs qui peuvent être plus ou
moins efficaces que le chemin par défaut utilisé par la base de données. Dès l'exécution de ces
cas, vous pouvez utiliser les statistiques d'exécution pour déterminer le cas qui optimise au
mieux les performances.
36
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
Chaque instruction extraite est listée par nom et texte. En outre, chaque instruction a des
valeurs Cost, Elapsed Time et Other Execution Statistics qui fournissent des informations sur
l'efficacité de chaque exécution de cas sur la source de données spécifiée. Ces paramètres vous
permettent de comparer l'efficacité des instructions originales sur les cas générés par le
processus de réglage lors de son exécution.
CONSEIL :
Vous pouvez double-cliquer sur un cas généré pour visualiser ou modifier le source
SQL de l'instruction.
Contrôle de configuration
Contrôles
des colonnes
Case à cocher
Exécuter/annuler le travail
Développer/Replier
Activer l'exéution Sélecteurs
Contrôle de dimensionnement
Schéma et catalogue du volet Augmenter/réduire
Indicateur d'état de réglage
Contrôle Filtre
Contrôle Développer/replier
Cas généré
Cas de transformation
Instructions
SQL extraites
Cas basés sur des indications
L'onglet Generated Cases vous permet de mesurer les divers coûts de charge des instructions de réglage originales et des cas
générés pour chaque instruction. Il suggère des chemins de requêtes alternatifs permettant d'optimiser votre source de données.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
37
Réglage des instructions SQL
L'indicateur d'état de réglage fournit l'état de chaque instruction ou cas, et indique s'ils sont
prêts pour l'exécution. Dans certains cas, le code SQL peut nécessiter une correction ou des
variables de liaison devront être définies avant l'exécution des instructions. Quand vous essayez
de régler une instruction contenant une variable de liaison, vous recevez un message
d'avertissement si la valeur ou le type n'est pas défini.
Utilisez les cases à cocher pour sélectionner les instructions et les cas à exécuter, puis cliquez sur
l'icône Run dans le coin supérieur droit de l'écran. Le champ Execute each generated case
vous permet d'exécuter chaque instruction ou cas sélectionné.
Utilisez les sélecteurs de schéma et de catalogue pour sélectionner un schéma et un catalogue
pour le travail de réglage. Le sélecteur de catalogue est disponible seulement pour les sources
de données SQL Server et Sybase. En spécifiant le schéma et le catalogue, le programme de
réglage peut utiliser les chemins du schéma et du catalogue sélectionnés pour trouver les tables
interrogées dans le travail, plutôt que d'utiliser les chemins du schéma et du catalogue utilisés
pour se connecter à la source de données. Si vous changez le schéma ou le catalogue utilisé
dans une instruction de réglage, vous devez actualiser les instructions de réglage afin que les
nouveaux cas soient générés (le schéma utilisé est ainsi pris en compte). Cliquez avec le bouton
droit sur une instruction de réglage et sélectionnez Refresh Tuning Statements.
Dès qu'un travail de réglage est exécuté, l'onglet Generated Cases reflète l'analyse des
instructions spécifiées de SQL Tuner. Dès que ces instructions ont été analysées, vous pouvez
modifier les résultats de SQL Tuner et appliquer les cas spécifiés sur la source de données afin
d'optimiser ses performances.
EXÉCUTER UN TRAVAIL DE RÉGLAGE
1 Dès qu'une instruction SQL est un candidat au réglage, naviguez jusqu'à l'onglet Overview.
2 Dans la zone Tuning Statements, sélectionnez la case à cocher située auprès du nom de
l'instruction que vous voulez analyser, puis :
Pour analyser les instructions SQL, cliquez sur Generate cases.
Pour effectuer l'analyse qui remplit maintenant l'onglet Analysis, cliquez sur Perform detail
analysis. Sinon, l'analyse est effectuée quand vous cliquez sur l'onglet Analysis.
Pour que le système génère des statistiques d'exécution, cliquez sur Execute each
generated case et sélectionnez le nombre de fois que le système doit exécuter chaque cas
généré. Plusieurs exécutions peuvent vérifier que les résultats des cas ne sont pas déformés
par la mise en cache. Par exemple, à la première exécution d'une requête, les données sont
lues depuis le disque, ce qui est un processus lent, et la deuxième fois les données peuvent
être stockées en cache, ce qui rend l'exécution plus rapide. Ainsi, un cas peut sembler plus
rapide qu'un autre, mais il bénéficie en fait simplement des effets de la mise en cache. En
général, il est seulement nécessaire d'exécuter les cas une fois, mais il peut être bénéfique
de les exécuter plusieurs fois pour voir si les temps de réponse et les statistiques restent les
mêmes.
3 Cliquez ensuite sur l'icône Run Job dans le coin supérieur droit de la fenêtre. Le travail de
réglage s'exécute, en analysant chaque instruction et cas, et en fournissant des valeurs dans
les colonnes appropriées.
38
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
ANALYSE DES RÉSULTATS DE SQL TUNER SUR L'ONGLET OVERVIEW
Dès que vous avez exécuté un travail de réglage, la zone Generated Cases de l'onglet
Overview reflète l'analyse des instructions et des cas spécifiés de SQL Tuner. Les cas générés
créent des chemins d'explication ou d'exécution alternatifs qui peuvent être plus ou moins
efficaces que le chemin par défaut utilisé par les bases de données. L'exécution de ces cas
fournit les statistiques nécessaires à l'optimisation des performances.
Dès qu'un travail de réglage a été exécuté, utilisez les colonnes Cost et Execution Statistics
pour déterminer le chemin d'exécution le plus rapide pour chaque instruction. La colonne Cost
présente le coût des performances d'un chemin d'exécution, comme déterminé par la base de
données. La colonne Execution Statistics représente les résultats réels de l'exécution de
l'instruction SQL selon le cas généré. DB Optimizer peut vous aider à trouver où le chemin par
défaut de la base de données n'est pas le chemin optimal. Les colonnes Elapsed Time(s) et
Results peuvent présenter avec plus de précision le chemin d'exécution le plus efficace.
Dans les colonnes Cost et Execution Statistics, les valeurs de l'instruction originale sont
considérées comme les valeurs de la ligne de base. Une colonne Cost peut être développée
pour fournir une représentation graphique des valeurs des instructions et des cas. De même, la
colonne Execution Statistics peut aussi être développée pour afficher une représentation
graphique des valeurs. Les couleurs et la longueur de la barre vous permettent de comparer les
valeurs, particulièrement entre les cas.
Les temps des requêtes de cas basés sur l'instruction originale peuvent être représentés par des barres en couleur sur la zone
Generated Cases de l'onglet Overview pour vous aider à déterminer le chemin d'exécution le plus rapide pour les sélections
données.
La valeur de la ligne de base de l'instruction originale occupe la moitié de la colonne, en termes
de longueur de barre. Pour les cas de l'instruction originale, si un ou plusieurs cas présentent
une valeur de dégradation, la plus grande valeur occupera la largeur de la colonne. Les
longueurs de barre de tous les autres cas seront alors affichées par comparaison de la longueur
à la valeur de dégradation la plus grande.
Les résultats d'exécution et de coût sont codés en couleur comme suit :
• Bleu clair : Ces cas sont situés dans le seuil de dégradation et d'amélioration. L'application
de ces modifications peut améliorer ou dégrader légèrement l'efficacité de l'instruction
SQL.
• Vert : Ces cas ont des valeurs inférieures au seuil d'amélioration. Il existe une forte
probabilité que la modification de l'instruction SQL avec ce chemin d'exécution alternatif
améliorera l'efficacité.
• Rouge : Ces cas ont des valeurs supérieures au seuil d'amélioration. L'implémentation de
ces modifications dégradera l'efficacité de l'instruction SQL.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
39
Réglage des instructions SQL
DÉTERMINER LES MEILLEURS CAS POUR LE TEMPS DU CHEMIN D'EXÉCUTION DE
L'INSTRUCTION
Dès que le travail de réglage a été exécuté, visualisez la zone Generated Cases de l'onglet
Overview et déterminez le meilleur cas possible en termes de valeurs de la colonne
Execution Statistics. Cela indiquera le chemin de requête le plus optimisé pour une
instruction donnée. Dès que vous avez déterminé le meilleur cas, vous pouvez l'exécuter sur
la source de données spécifiée et modifier le code de base de données pour exécuter
l'instruction selon ce cas sur l'environnement natif.
Si vous ne trouvez pas un chemin d'une rapidité convenable, sélectionnez l'onglet Analysis.
L'onglet Analysis peut identifier les index manquants, et en examinant le diagramme, vous
pouvez être en mesure de déterminer si quelque chose est incorrect avec le schéma ou le
code SQL.
RECHERCHE DES INDEX MANQUANTS ET DES PROBLÈMES SQL
SQL Tuner exécute l'analyse de l'index et du code SQL en tant que partie du travail d'exécution
de SQL Tuner effectué sur l'onglet Overview si Perform Detail Analysis est sélectionné. Sinon,
l'analyse est effectuée quand vous cliquez sur l'onglet Analysis.
Diagramme VST (Visual SQL Tuning)
Bouton Create Index
40
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
DB Optimizer peut analyser une requête SQL ainsi que les index et les contraintes sur les tables
de la requête et afficher la requête au format graphique sur le diagramme VST (Visual SQL
Tuning). Le diagramme VST peut être affiché en mode Résumé ou en mode Détail. Il aide les
développeurs, les concepteurs et les administrateurs de bases de données à voir les défauts de
conception du schéma, tels que les jointures cartésiennes, les jointures cartésiennes implicites et
les relations plusieurs-à-plusieurs. Le diagramme VST aide aussi l'utilisateur à comprendre plus
rapidement les composants d'une requête SQL, en accélérant ainsi le dépannage et l'analyse.
Cette section est constituée des rubriques suivantes :
• Recherche des index manquants page 41
• Exploration du diagramme VST page 42
• Recherche d'un code SQL ou d'un schéma problématique page 50
RECHERCHE DES INDEX MANQUANTS
Les index manquants apparaissent en orange dans la zone Collect and create indexes de
l'onglet Overview. La création d'un index manquant peut améliorer le chemin d'exécution de
l'instruction SQL en cours d'analyse.
CONSEIL :
Les index utilisés apparaissent en vert. Les index qui existent dans la table mais ne sont
pas utilisés dans ce chemin d'exécution apparaissent en gris. Les index utilisables mais
pas utilisés par le chemin d'exécution en cours apparaissent en bleu.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
41
Réglage des instructions SQL
EXPLORATION DU DIAGRAMME VST
1
2 3
4
5
6
Légende
1 Afficher / Masquer la légende du diagramme
2 Afficher / Masquer le plan d'explication
3 Afficher / Masquer les compteurs et les ratios
4 Afficher le mode Détail ou le mode Résumé
5 Zoom avant
6 Zoom arrière
42
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
AFFICHAGE OU MASQUAGE DE LA LÉGENDE DU DIAGRAMME
Cliquez sur le commutateur Diagram Legend [
nouveau dessus pour la masquer.
] pour afficher la légende, puis cliquez de
Toutes les icônes utilisées dans le diagramme VST sont identifiées dans la légende du
diagramme.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
43
Réglage des instructions SQL
AFFICHAGE OU MASQUAGE DU PLAN D'EXPLICATION
REMARQUE : Le plan d'explication est disponible seulement pour les plates-formes Oracle 10g et
11g.
Déplacez la souris au-dessus du diagramme VST pour voir l'icône Explain Plan [ ], puis
cliquez dessus pour afficher la superposition du plan d'explication (Explain Plan Overlay).
Cliquez de nouveau sur l'icône Explain Plan pour masquer la superposition.
Les noeuds supplémentaires présentés dans la superposition du plan d'explication
fournissent des détails sur le flux du plan de requête, avec des opérations (telles que des
boucles imbriquées, des tris et des jointures) montrant la connexion des tables, ainsi que
d'autres opérations.
Déplacez la souris au-dessus des objets ou des relations de la superposition pour afficher
des détails supplémentaires.
44
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
AFFICHAGE OU MASQUAGE DES COMPTEURS ET DES RATIOS DES TABLES
Pour afficher ou masquer les compteurs des tables, les tailles relatives à la jointure de deux
tables et les ratios des ensembles de résultats filtrés, cliquez sur l'icône Ratios and Counts.
[
]
Les nombres en vert, situés dans le coin supérieur gauche de la table, représentent le nombre
total des lignes de cette table. Dans l'exemple ci-dessus, la table MOVIERENTAL (MR) contient
5 000 lignes.
Le pourcentage en bleu, situé dans le coin inférieur droit de la table, représente le pourcentage
des lignes de cette table qui satisfont le critère de sélection. Dans l'exemple ci-dessus, 100 %
des lignes de la table RENTALITEM (RI) satisfont le critère de sélection.
Les nombres affichés sur les jointures de tables indiquent le nombre total des lignes qui satisfont
le critère de sélection des deux tables.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
45
Réglage des instructions SQL
Vous pouvez aussi visualiser la requête SQL ayant créé une relation en déplaçant la souris audessus de la relation. Si le contenu du conseil a une taille supérieure à celle de son rectangle,
vous pouvez déplacer la souris en haut du conseil pendant une seconde afin de le transformer
en boîte de dialogue que vous pouvez redimensionner, et dans laquelle vous pouvez effectuer
des défilements et sélectionner du texte à copier dans le Presse-papiers.
AFFICHAGE OU MASQUAGE DES COLONNES ET DES INDEX DES TABLES
Cliquez sur le commutateur Detail/Summary pour afficher ou masquer les détails de
l'affichage des tables, notamment les colonnes et les index.
Seuls les champs utilisés dans la clause WHERE sont affichés en mode Détail. Pour de plus
amples informations sur l'interprétation des icônes utilisées en mode Détail, activez
l'option Diagram Legend.
CONSEIL :
Vous pouvez aussi basculer entre les modes Résumé (Summary Mode) et Détail (Detail
Mode) pour une table ou une vue spécifique, en double-cliquant sur le nom de l'objet.
REMARQUE : Vous pouvez déplacer les tables du diagramme en cliquant dessus et en les déplaçant
à l'emplacement désiré. La position des lignes de connexion est automatiquement
ajustée.
46
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
VISUALISATION DE TOUS LES CHAMPS D'UNE TABLE
Déplacez la souris au-dessus du nom d'une table pour visualiser tous les champs de la table
dans une fenêtre contextuelle.
L'illustration ci-dessous présente la fenêtre contextuelle qui apparaît quand vous déplacez
la souris au-dessus de la table.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
47
Réglage des instructions SQL
VISUALISATION DU CODE SQL D'UN OBJET
Placez la souris au-dessus du nom d'une table, d'un champ ou d'un index, pour afficher le
code SQL nécessaire à la création de cet objet.
VISUALISATION DES RELATIONS
Quand vous déplacez la souris sur une jointure entre deux tables, la relation entre les deux
tables s'affiche.
DÉVELOPPEMENT DES VUES DANS LE DIAGRAMME VST
Par exemple, voici la disposition par défaut d'une jointure de requête de la table CLIENT (c) à la
vue TRANSACTIONS (t).
48
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
Cliquez avec le bouton droit sur la vue et choisissez Expand View.
Vous pouvez maintenant voir les objets de la vue.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
49
Réglage des instructions SQL
RECHERCHE D'UN CODE SQL OU D'UN SCHÉMA PROBLÉMATIQUE
Dans le diagramme VST (Visual SQL Tuning), une requête bien formée doit ressembler à ceci :
Des problèmes tels que les jointures cartésiennes, les jointures cartésiennes implicites et les
relations plusieurs-à-plusieurs sont clairement représentés dans le diagramme VST.
Les jointures sont représentées par les lignes de connexion entre les noeuds. Le tableau suivant
décrit quand un type particulier de ligne de connexion est utilisé et le positionnement par
défaut de la ligne.
Lignes de
connexion
Description
Les relations de jointure un-à-un sont représentées graphiquement avec des lignes
horizontales bleues. Des jointures un-à-un existent quand deux tables sont jointes sur leur clé
primaire.
Les relations un-à-plusieurs sont représentées graphiquement avec plusieurs tables au-dessus
d'une table unique.
La jointure cartésienne présente la table en rouge sans connecteur, pour indiquer qu'elle est
jointe via une jointure cartésienne. Un critère de jointure est manquant dans la requête. Un
problème de jointure cartésienne peut être résolu en implémentant une suggestion de
réécriture présentée dans la zone Generated Cases de l'onglet Overview.
Les relations plusieurs-à-plusieurs sont connectées par une ligne rouge et l'emplacement
relatif n'est pas restreint. Si les informations maître-détail sont manquantes, le diagramme
VST aura alors des connecteurs plusieurs-à-plusieurs. L'optimiseur peut optimiser d'une façon
plus cohérente une requête bien formée. La requête s'exécutera ainsi plus rapidement.
50
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
Réglage des instructions SQL
IMPLÉMENTATION DES RECOMMANDATIONS SUR L'ONGLET
INDEX ANALYSIS
Dès que vous avez ajouté les candidats de réglage à un travail de réglage, DB Optimizer peut
analyser l'efficacité des index de la base de données et recommander la création de nouveaux
index là où les nouveaux index peuvent augmenter les performances.
Dans la table Collect and create indexes, l'index que DB Optimizer recommande de créer est
marqué en orange et a une icône Create index auprès de sa case à cocher.
ACCEPTER LA SUGGESTION ET GÉNÉRER AUTOMATIQUEMENT UN INDEX
1 Pour tous les index recommandés, cliquez sur la case à cocher située sur la gauche de
l'index que vous voulez créer.
Pour un index sélectionné, vous pouvez modifier le type de l'index en cliquant sur la
colonne Index Type, puis en sélectionnant un type dans la liste : Normal, Bitmap, Reverse
Key, Reverse Key Unique ou Unique.
Create
Index
2 Cliquez sur le bouton Create Index.
Le dialogue Index Analysis apparaît.
3 Pour visualiser le code SQL de l'index dans un éditeur pour une implémentation ultérieure,
cliquez sur l'instruction puis sur Open in a SQL editor.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
51
SQL Code Assist et exécution
4 Pour exécuter le code SQL de l'index et créer l'index sur la base de données sélectionnée,
cliquez sur Execute.
SQL CODE ASSIST ET EXÉCUTION
SQL Code Assist est un composant d'interface qui permet le développement et le formatage du
code SQL à des fins de création et de modification d'objets de bases de données. Il fournit une
application frontale pour la livraison de code à travers ses capacités d'extraction du code des
objets.
Code Assist fournit un certain nombre de fonctionnalités clés qui vous assistent dans le
processus de codage, en assurant une plus grande précision dans le codage, des cycles de
développement plus rapides et une augmentation générale de l'efficacité globale.
SQL Editor fournit des fonctionnalités clés qui assurent une augmentation de la précision du code et de l'efficacité globale du
développement.
Les fonctionnalités clés suivantes sont fournies avec SQL Code Assist :
• Extraction du code page 53
• Mise en évidence du code page 54
• Détection automatique des erreurs page 55
• Achèvement du code page 57
• Hyperliens page 57
• Formatage du code page 58
• Pliage du code page 59
• Contrôles de qualité du code page 59
52
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
SQL Code Assist et exécution
Pour accéder à SQL Editor, vous devez créer un nouveau fichier ou modifier un code existant
dans l'explorateur de sources de données.
En outre, SQL Project Explorer, l'explorateur de projets SQL, fournit une structure arborescente
pour tous les fichiers créés dans DB Optimizer. Vous pouvez accéder ici aux fichiers en doublecliquant sur le nom de ceux que vous voulez ouvrir.
L'explorateur de projets SQL fournit une arborescence de tous les fichiers développés et enregistrés dans DB Optimizer.
Créer un nouveau fichier
Choisissez File > New > SQL File.
Une instance vide de SQL Editor apparaît dans le Workbench. Si vous enregistrez ce fichier,
il est automatiquement ajouté à l'explorateur de projets SQL.
Modifier un fichier existant
Utilisez l'explorateur de sources de données ou l'explorateur de projets pour naviguer
jusqu'au code à modifier, et double-cliquez dessus.
Une instance de SQL Editor apparaît dans le Workbench, remplie par le code extrait de
l'objet ou du fichier projet SQL spécifié.
EXTRACTION DU CODE
SQL Editor fournit la capacité d'extraire le code SQL sous-jacent des objets de bases de
données enregistrés dans DB Optimizer pour fournir une application frontale pour le
développement et la modification des sources de données de votre entreprise.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
53
SQL Code Assist et exécution
Extraire le code SQL sous-jacent
Naviguez jusqu'à un objet de base de données dans l'explorateur de sources de données
et sélectionnez Extract dans le menu contextuel obtenu par clic droit.
Le code SQL sous-jacent de l'objet apparaît dans SQL Editor et est prêt pour l'édition et
des modifications ultérieures.
MISE EN ÉVIDENCE DU CODE
SQL Editor identifie les commandes et fournit les modifications de mise en évidence de la
syntaxe qui sont automatiquement ajoutées au code au fur et à mesure que vous ajoutez des
lignes, ce qui vous permet de comprendre clairement et rapidement le code à sa lecture dans
l'interface.
La mise en évidence de syntaxe suivante est automatiquement ajoutée aux lignes de code dans
SQL Editor :
Code
Formatage
Commentaires
italique en vert
Commandes SQL
bleu sombre
Erreurs de syntaxe
souligné en rouge
Erreurs de codage
rouge
54
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
SQL Code Assist et exécution
En outre, SQL Editor fournit une barre de modification pourpre dans la colonne de gauche qui
indique si une ligne de code a été modifiée depuis le texte original. Vous pouvez déplacer la
souris sur cette barre de modification pour voir la ligne de code originale. Une icône en forme
de carré rouge dans la colonne de droite indique la présence d'erreurs dans la ligne de code.
Vous pouvez déplacer la souris au-dessus de l'icône pour voir le nombre d'erreurs.
La barre de modification pourpre indique si une ligne de code a été modifiée depuis son texte original. Déplacez la souris au-dessus
de la barre de modification pour voir le texte original.
DÉTECTION AUTOMATIQUE DES ERREURS
La fonctionnalité de détection automatique des erreurs de l'éditeur met en surbrillance les
erreurs du code au fur et à mesure que vous travaillez en "temps réel".
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
55
SQL Code Assist et exécution
La détection automatique des erreurs identifie et analyse automatiquement les instructions
SELECT, FROM, WHERE, GROUP BY, HAVING et ORDER BY. Si elle détecte des erreurs de
syntaxe lors de la saisie de ces instructions, la ligne est automatiquement marquée par l'icône
d'erreur dans la colonne de gauche de SQL Editor. Vous pouvez déplacer la souris au-dessus de
l'icône pour voir les erreurs.
Les erreurs de syntaxe sont automatiquement marquées ligne par ligne, au fur et à mesure que vous travaillez avec le code dans
SQL Editor. Déplacez la souris au-dessus de l'icône d'erreur pour voir le message d'erreur spécifique.
En outre, toutes les erreurs sémantiques sont enregistrées dans la vue Problems, un composant
d'interface qui consigne automatiquement les erreurs et les avertissements au fur et à mesure
que vous travaillez avec les fichiers.
La vue Problems consigne les erreurs et les avertissements au fur et à mesure que vous travaillez avec les fichiers dans SQL Editor.
Vous pouvez double-cliquer sur une ligne dans la vue Problems, puis DB Optimizer vous oriente
automatiquement sur ce problème dans SQL Editor.
56
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
SQL Code Assist et exécution
ACHÈVEMENT DU CODE
SQL Editor fournit des capacités de suggestion pour les objets et les instructions DML. Il a la
capacité de rechercher les noms des objets afin d'éviter des erreurs lors de la définition des
noms des tables, des colonnes, etc. dans le processus de développement. Cette fonctionnalité
fournit des listes d'objets et des suggestions de code qui rendront le processus de
développement plus efficace, puisque vous ne serez pas obligé de rechercher manuellement les
noms des objets et autres valeurs d'instructions. SQL Editor fournit une assistance de code pour
les instructions SELECT, UPDATE, INSERT et DELETE (plus les instructions MERGE sur
SQL Server 2008 et versions supérieures) , ainsi que le support de la suggestion d'objets pour les
tables, les tables d'alias, les colonnes, les colonnes d'alias, les schémas et les catalogues.
Activer l'assistance du code
1 Cliquez sur la ligne sur laquelle vous voulez activer la fonctionnalité d'assistance du code.
2 Appuyez sur CTRL + barre d'espace sur votre clavier. L'assistance du code analyse la ligne
et présente une liste de suggestions basées sur les éléments de l'instruction.
HYPERLIENS
Les hyperliens sont utilisés dans SQL Editor pour fournir des liens vers les tables, les colonnes,
les packages et les autres objets de référence. Quand vous sélectionnez un objet hyperlié
depuis un fragment de code, un nouvel éditeur s'ouvre et affiche le source. En outre, les
hyperliens peuvent être utilisés pour lier les procédures ou la fonction d'une instruction d'appel,
ainsi que les appels de fonctions dans les instructions DML. Pour activer un hyperlien, déplacez
la souris au-dessus du nom de l'objet et maintenez la touche CTRL enfoncée. Il devient souligné
et sa couleur change.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
57
SQL Code Assist et exécution
FORMATAGE DU CODE
Le formatage du code est automatiquement appliqué à un fichier au fur et à mesure que vous
développez le fichier en code SQL. Cela vous permet de définir une fois les préférences de
formatage globales, puis de les appliquer à tout développement de code, ce qui représente un
gain de temps et rend le processus de développement du code plus efficace. Le formateur de
code est accessible en sélectionnant CTRL + Maj + F dans l'éditeur. Tout le code est
automatiquement formaté en fonction des paramètres spécifiés sur le noeud Code Formatter
du panneau Preferences. Pour accéder à ce panneau, sélectionnez Window > Preferences
dans le menu principal.
Les paramètres de formatage de code peuvent être définis globalement, puis appliqués à l'intégralité du travail de développement
dans SQL Editor.
En plus du formatage du code par fichier individuel, vous pouvez aussi formater un groupe
entier de fichiers dans Project Explorer, l'explorateur de projets. Sélectionnez le répertoire des
fichiers sur lesquels vous voulez appliquer le formatage, et exécutez la commande Format du
menu contextuel accessible par clic droit. Les fichiers seront automatiquement formatés selon
les préférences globales.
58
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
SQL Code Assist et exécution
PLIAGE DU CODE
La fonctionnalité de pliage du code trie automatiquement le code dans une structure
hiérarchique de type arborescence dans SQL Editor. Cela augmente les capacités de navigation
et de clarification durant le processus de développement du code. Il garantit une bonne
compréhension du fichier pour les futurs travaux nécessaires sur le code. Au fur et à mesure que
vous travaillez dans SQL Editor, les noeuds pliables sont automatiquement insérés dans les
lignes appropriées du code. Les instructions peuvent alors être développées ou repliées selon
vos besoins, et cette fonctionnalité est particulièrement utile quand vous travaillez sur des
parties de fichiers compliqués ou particulièrement grands.
CONTRÔLES DE QUALITÉ DU CODE
Sur du code basé sur Oracle, la fonctionnalité de contrôle de la qualité du code fournit des
suggestions concernant l'amélioration du code, instruction par instruction. Au fur et à mesure
que vous travaillez dans SQL Editor, les marqueurs fournissent des annotations qui préviennent
et corrigent les erreurs communes du code.
Les remarques concernant les suggestions de qualité du code apparaissent dans une fenêtre sur
toute ligne de code où l'éditeur détecte une erreur, ou sinon détecte que le code n'est pas aussi
efficace qu'il le pourrait. Les annotations de contrôle de la qualité du code sont activées en
cliquant sur l'icône en forme d'ampoule allumée située dans la marge, ou en sélectionnant
Ctrl + l sur votre clavier.
Les erreurs communes suivantes sont détectées par la fonction de contrôle de la qualité du
code de l'éditeur :
• Critère JOIN valide manquant dans l'instruction
• Opérateur de jointure externe non valide ou manquant
• Problèmes de transitivité
• Requête imbriquée dans la clause WHERE
• Emplacement incorrect des conditions d'une clause HAVING
• Index supprimé par une fonction ou un opérateur arithmétique
• Types de colonnes non concordants ou incompatibles
• Comparaison de colonnes null
Pour activer les contrôles de qualité du code :
• Cliquez sur l'icône en forme d'ampoule allumée située dans la marge de l'éditeur, ou
sélectionnez Ctrl + l sur votre clavier.
Les suggestions de l'éditeur apparaissent dans une fenêtre sous l'instruction sélectionnée.
Quand vous cliquez sur une modification suggérée, le code affecté est automatiquement
mis à jour.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
59
SQL Code Assist et exécution
EXÉCUTION SQL
Quand vous avez terminé le développement ou la modification du code, vous pouvez alors
exécuter le fichier depuis l'environnement de DB Optimizer, sur la base de données de votre
choix. Cela vous permet d'exécuter immédiatement le code dès que son développement est
terminé. Autrement, vous pouvez enregistrer les fichiers afin de les exécuter plus tard.
Afin d'exécuter un fichier, vous devez au préalable l'associer à une base de données cible. Pour
cela, utilisez les menus déroulants de la barre d'outils. Quand un fichier SQL est ouvert dans le
Workbench, les menus sont activés. Sélectionnez une source de données et une base de
données correspondante à associer au fichier, puis cliquez sur l'icône en forme de flèche verte
pour exécuter le fichier.
Les deux menus déroulants indiquent que le fichier SQL est associé à la source de données dataotb19 et à la base de données
EMBCM. Quand l'icône en forme de flèche verte située sur la droite des menus est sélectionnée, le fichier est exécuté sur la source de
données et la base de données spécifiées.
En outre, si vous avez désactivé la validation automatique dans le panneau Preferences
(Window > Preferences), vous pouvez valider et exécuter les transactions via les icônes Commit
Transaction et Start Transaction situées auprès de l'icône Execute.
60
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7
SQL Code Assist et exécution
EXÉCUTER UN FICHIER
Ouvrez le fichier à exécuter et assurez-vous qu'il est associé à la base de données correcte, puis
cliquez sur l'icône Execute [ ]. DB Optimizer exécute le code sur la base de données spécifiée.
EXÉCUTER UNE TRANSACTION
Ouvrez le fichier transaction à exécuter et assurez-vous qu'il est associé à la base de données
correcte, puis cliquez sur l'icône Start Transaction [
]. DB Optimizer exécute la transaction sur
la base de données spécifiée.
VALIDER UNE TRANSACTION
Ouvrez le fichier transaction à valider et assurez-vous qu'il est associé à la base de données
correcte, puis cliquez sur l'icône Commit Transaction [ ]. DB Optimizer valide la transaction
sur la base de données spécifiée.
G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7
61
SQL Code Assist et exécution
CONFIGURATION DES PARAMÈTRES D'EXÉCUTION SQL
Utilisez le dialogue SQL Session Options pour modifier les paramètres de configuration qui
déterminent comment DB Optimizer exécute le code. Ces options garantissent que le code est
exécuté de la façon voulue sur une base d'exécution, en assurant l'exactitude et la souplesse
lors de l'exécution d'un nouveau code ou d'un code modifié.
La boîte de dialogue SQL Sessions Options vous offre la possibilité d'ajuster les paramètres d'exécution session par session.
MODIFIER LES OPTIONS DES SESSIONS SQL
1 Cliquez sur l'icône SQL Session Options de la barre d'outils. Le dialogue SQL Sessions
Options apparaît.
2 Cliquez sur les paramètres individuels de la colonne Value pour modifier la configuration de
chaque propriété, tel que spécifié.
3 Cliquez sur Finish. Les options des sessions sont modifiées et DB Optimizer exécute le code
conformément à vos options.
REMARQUE : Les options des sessions SQL sont seulement appliquées au code actuellement
sélectionné, et ne sont pas conservées entre différents fichiers en ce qui concerne
l'exécution.
62
G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7

Manuels associés