Bonjour,
J'ai un problème avec une requête.
La requête est de ce type :
Il existe un index de ce type : condition_booleene, col_date asc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select * from ( select col_a, col_b, ..... from ma_table where condition_booleene = 'N' order by col_date ASC ) where rownum < :variable_bindée
la table fait en gros 2,5 millions de lignes et la condition : condition_booleene = 'N' retourne en gros moins de 100 lignes.
J'ai bien calculer les stats avec toad avant de faire un explain, mais celui-ci force le scannage de table sur ma_table au lieu de partir de l'index.
Il en découle que la requête met 3 plombes à s’exécuter, alors que si je force l'utilisation de l'index celle-ci s’exécute instantanément (ou presque).
Bref, comment puis-je orienter mes recherches afin que l'optimiseur me sorte un plan potable pour cette requête sans passer par un hint oracle ?
Partager