Vous êtes sur la page 1sur 20

3

Fonction de conseil STA


(SQL Tuning Advisor)
Objectifs

A la fin de ce chapitre, vous pourrez :


• décrire le profilage des instructions SQL
• utiliser la fonction de conseil STA (SQL Tuning Advisor)

3-2
Réglage automatique des instructions SQL

• Grâce au réglage automatique des instructions SQL, qui


remplace le réglage SQL manuel, l'ensemble du processus
de réglage SQL est simplifié.
• Modes de l'optimiseur :
– Mode normal
– Mode réglage ou ATO (Automatic Tuning Optimizer)
• La fonction de conseil STA permet d'accéder au mode
réglage.
• N'utilisez ce mode que pour les instructions SQL à forte
consommation de ressources.

3-3
Défis liés au réglage d'une application

Comment
régler les instructions
SQL consommant
beaucoup de Je m'en
ressources ? charge !

Charge globale SQL

Moniteur
ADDM
Instructions SQL
à forte consommation Fonction de
de ressources conseil STA

3-4
Fonction de conseil STA : Présentation

Mode
Détection des
d'optimisation
statistiques obsolètes
Statistics Check
ou manquantes

Mode Réglage du plan


d'optimisation
Plan Tuning (profil SQL)

Mode Création des index


d'optimisation manquants
Access Analysis Exécution de la
fonction SAA
Mode Fonction de
d'optimisation conseil STA Restructuration
SQL Analysis des instructions SQL

Optimiseur ATO Réglage complet


des instructions SQL

3-5
Statistiques obsolètes ou manquantes
sur les objets
• Les statistiques sur les objets constituent des données
d'entrée essentielles pour l'optimiseur.
• L'optimiseur ATO vérifie ces statistiques pour chaque objet
interrogation.
• Il exécute un échantillonnage dynamique et génère :
– des statistiques auxiliaires sur les objets pour remplacer les
données manquantes ou obsolètes
– des recommandations concernant la collecte de statistiques
pertinentes sur les objets :
EXEC DBMS_STATS.GATHER_TABLE_STATS(
ownname=>'SH', tabname=>'CUSTOMERS',
estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE);

3-6
Profilage des instructions SQL
• Les statistiques relatives aux instructions constituent des
données d'entrée essentielles pour l'optimiseur.
• L'optimiseur ATO vérifie notamment les statistiques suivantes :
– Sélectivité des prédicats
– Paramètres d'optimisation (FIRST_ROWS ou ALL_ROWS)
• L'optimiseur ATO utilise les méthodes suivantes :
– Echantillonnage dynamique
– Exécution partielle de l'instruction
– Analyse des statistiques sur les exécutions antérieures de
l'instruction
• Si des statistiques ont été générées, l'optimiseur ATO conçoit
un profil :
exec :profile_name := -
dbms_sqltune.accept_sql_profile( -
task_name =>'my_sql_tuning_task');

3-7
Flux de réglage d'un plan et création de profil
SQL

Soumet Crée
Optimiseur
(mode réglage)

Fonction de Profil
conseil STA SQL

Utilise

Pas de modification
du code de
l'application Sortie
Optimiseur
(mode normal)

Utilisateurs Plan réglé


de base de correctement
données

3-8
Boucle de réglage des instructions SQL

Charge globale

Génération
de profils

Fonction de
Forte conseil STA
consommation
de ressources

Moniteur
ADDM

3-9
Analyse des chemins d'accès

Fonction de
conseil STA

Amélioration
significative
Fonction Charge
des performances
de conseil globale
SAA
Analyse
complète
Index des index

Index
CREATE INDEX JFV.IDX$_00002 on JFV.TEST("C");

3 - 10
Analyse de la structure des instructions SQL

Comment
Instruction SQL la réécrire ?
mal écrite

Instruction SQL
restructurée
Structures SQL
Disparité de types
et index
Erreurs de conception
Fonction de
conseil STA

3 - 11
Fonction de conseil STA : Modèle d'utilisation

Sélection automatique
Référentiel
AWR

Moniteur Instructions SQL à forte


ADDM consommation de ressources
Sources Fonction de
conseil STA
Référentiel Sélection manuelle
AWR

Cache de curseur
Filtre

Personnalisée

3 - 12
Database Control et fonction de conseil STA

3 - 13
Exécuter la fonction de conseil STA : Exemple

3 - 14
Page Schedule SQL Tuning Advisor

3 - 15
Recommandations d'implémentation

3 - 16
Page Compare Explain Plan

3 - 17
Quiz

La fonction de conseil STA (SQL Tuning Advisor) recommande :


a. Des profils SQL
b. Des index supplémentaires
c. La suppression des index
d. La réécriture des instructions SQL
e. Toutes les propositions ci-dessus

3 - 18
Quiz

Le profil SQL imposera le meilleur plan d'exécution même si les


données de la table changent.
a. Vrai
b. Faux

3 - 19
Synthèse

Ce chapitre a traité des sujets suivants :


• Profilage (profiling) des instructions
• Fonction de conseil STA

3 - 20

Vous aimerez peut-être aussi