Bonjour,
J'ai mis en place dans Oracle une table qui contient 3 millions de lignes avec comme clé primaire les deux premières colonnes (Clé composite) : colonne1 et colonne2.
Le problème est le suivant :
- Quand je lance une requête toute simple du genre :
L'optimiseur d'oracle décide d'utiliser l'index de clé primaire, ce qui prend 20 secondes de temps d'exécution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT colonne1 FROM matable GROUP BY colonne1 ORDER BY colonne1 ASC NULLS LAST;
- Quand je met un hint pour ne pas utiliser cet index, la requête mets 3 secondes pour s'exécuter.
Oracle prend-il de mauvaises décisions quand à l'utilisation des index ? Est-il possible d'arranger les choses ?
Je précise que j'ai remis à jour les statistiques de la table et ça fonctionne toujours aussi mal.
Je ne peux pas non plus utiliser comme solution l'utilisation d'un hint permanent pour l’empêcher d'utiliser l'index vu que la requête est lancée par une application cliente ! (Impossible de la modifier, donc impossible d'insérer des hints).
Merci d'avance pour votre aide !
Partager