École Marocaine des Sciences de l’Ingénieur (EMSI) – Rabat
Les Hints
Fadwa FATHI
2020-2021
Utilisation des hints:
Hint :
Indication placée dans une requête pour orienter le plan d'exécution
ressemble beaucoup à un commentaire, à l'exception du + après le /*.
Exemple :
SELECT /*+ LE HINT */ c o l o n n e ( s ) FROM t a b l e ( s ) WHERE .
..;
Remarques :
Il est très important de placer le hint à l'emplacement approprié du
code SQL, idéalement avant la référence à la première colonne du code
SQL
Si le hint inclus est incorrect il sera tout simplement ignorer par
l'optimiseur, sans affichage de la moindre erreur !
2
Exemple/syntaxe générique :
SELECT / * + LE HINT * / c o l o n n e ( s ) FROM t abl e (
s ) WHERE . . . Instantiation de LE_HINT :
- FULL(table) : Parcours de toute la table (sans utiliser l'index)
- INDEX(table, index) : Force l'utilisation de l'index de la table.
- NO_INDEX(table, index) : Désactivation de l'index de la table.
- ORDERED : Force l'ordre de jointure des tables, telles qu'elles apparaissent
dans la clause From.
- FIRST_ROWS : Force Oracle à choisir le plan d'exécution qui retourne les n
premières lignes de manière la plus efficace.
- PARALLEL(table, n) : Spécification des n serveurs concurrent pouvant être
utilisés pour une requête etc.
3
Utilisation ORDERED : impose a l'optimiseur d'utiliser les tables dans
l'ordre d'apparition dans la requête SQL
Select / * + ORDERED * / d . departement name , e . Surname from
employ e e s e , departement d where d . departement id = e .
departement id and d . departement name = : 1 ;
4
Utilisation INDEX : impose à l'optimiseur d'utiliser les
indexes spécifiés par le Hint INDEX
Select / * + INDEX( e , employe idx ) * / nom
from employ e e s e where e . departement i d = : 1
and e . manager id = : 2 ;
5
Différents types de hints
Optimisation :
- FIRST_ROWS, ALL_ROWS : Force Oracle à utiliser les premières
ou toutes les lignes
- ORDERED : Accès aux tables dans l'ordre de de la clause FROM
Accès: FULL(tab), ROWID, PARALLEL
6
Impact des Hints Exemple
7
8
Impact des Hints
Exemple