0% ont trouvé ce document utile (0 vote)
162 vues9 pages

Chapitre - 4 - Hints

Ce document décrit les hints SQL, qui sont des indications placées dans une requête pour guider le plan d'exécution. Il présente des exemples de syntaxe de hints comme FULL, INDEX, NO_INDEX, ORDERED, FIRST_ROWS et PARALLEL, et explique leur utilisation et impact sur l'optimiseur.

Transféré par

Meryem Bakir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
162 vues9 pages

Chapitre - 4 - Hints

Ce document décrit les hints SQL, qui sont des indications placées dans une requête pour guider le plan d'exécution. Il présente des exemples de syntaxe de hints comme FULL, INDEX, NO_INDEX, ORDERED, FIRST_ROWS et PARALLEL, et explique leur utilisation et impact sur l'optimiseur.

Transféré par

Meryem Bakir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

É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

Vous aimerez peut-être aussi