Les hints de jointure :
- LEADING : Permet de spécifier la table menante dans une jointure select /*+leading (cmd cli) */ cli.noclient,nom, cmd.datecommande from clients cli,cmd where cli.noclient=cmd.noclient and cli.noclient between 100000 and 100020 ;
- ORDERED: Permet de spécifier que les jointures doivent être faites dans l’ordre d’apparition dans la clause FROM.
- USE_NL,NO_USE_NL: Force ou interdit une jointure par boucles imbriquées (Nested Loop).
- USE_NL_WITH_INDEX: Force une jointure par boucles imbriquées seulement si unindex est présent sur la table jointe. Ce hint sera sans effet si l’index disparaît ou est invalidé. En effet, l’impossibilité d’utiliser un index pourrait avoir des conséquences désastreuses en termes de performances : une boucle imbriquée sur une grosse table non indexée a des performances catastrophiques car elle provoque un parcours complet de la table pour chaque valeur de la table menante.
- USE_MERGE, NO_USE_MERGE. Force ou interdit une jointure par Sorted Merge.
- USE_HASH, NO_USE_HASH. Force ou interdit une jointure par table de hachage.
Les hints de parallélisme :
- PARALLEL(table_alias , degré //): Permet de spécifier un niveau de parallélisme pour les accès à une table.
- NO_PARALLEL (table_alias): Permet de désactiver le parallélisme pour les accès à une table.
- PARALLEL_index (table_alias , idx,degré): Permet de spécifier un niveau de parallélisme sur les Index Scan.
- NO_PARALLEL_index (table_alias): Permet de désactiver le parallélisme sur les Index Scan.
Aucun commentaire:
Enregistrer un commentaire