Restrictions Hints USE_HASH, HASH_AJ
Bonjour,
y a t'il des restrictions à l'utilisation des hints USE_HASH et HASH_AJ dans Oracle 9i.
Il m'a semblé avoir lu que HASH_AJ par exemple dans la requête:
Code:
1 2
| select * from ma_table t1
where not exists(select /*+HASH_AJ*/null from ma_table t2 where t2.col=t1.col) |
le HASH_AJ n'était valable que si la colonne col (dans la sous-requête) n'était pas nullable. Enfin bon je suis un peu confus avec ce que je lis ça et là et j'aimerais votre aide pour m'éclairer.
Est-ce qu'aussi USE_HASH pré-suppose des conditions de UNIQUE ou des indexs.
Pourquoi le hint HASH_AJ a été déprécié pour Oracle 10g. Est-il dangereux ? Peut il induire en erreur?
Et enfin, question la plus importante. Est-ce qu'Oracle - si je note un hint comme HASH_AJ alors qu'il y a une restriction (disons la sous-requête renvoie des NULL) - applique quand même le HASH_AJ au risque de me renvoyer un résultat innaproprié ou bien Oracle voit il que le hint HASH_AJ n'est pas applicable et ne l'applique pas ?
Merci d'avance pour vos réponses,