|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre émérite
![]() Inscription : mai 2004 Messages : 739 ![]() |
Bonjour,
J'ai une requete très simple : Code :
En exécutant la requête comme cela, Oracle me fait un table access full. Si je modifie la requete en supprimant champs3 du select, Oracle utilise l'index sur (champs2, champs1). Question : - Quelle(s) pourrai(en)t être la ou les raisons de la non utilisation de l'index1 dans le premier cas ? - Idem dans le second cas, pourquoi utilise-t-il index2 qui début par un champs non présent dans la clause where ? Pour information, la table possède d'autres champs ainsi que d'autres indexs ne commençant ni par champs1 ni par champs2. De plus ce problème ne se produit pas sur mon environnement de dev qui lui ne possède que les index1 et 2. Edit> J'ai supprimé les indexs autres que le 1 et 2 sur la base ou j'ai le problème, et ce dernier persiste. Merci d'avance.
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela. La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
Citation:
Quitte à faire un accés disque autant taper dans l'index directement plutôt que faire un FTS. Imaginons que la requête retourne 80% des lignes de la table. Dans le 1° cas, il faut faire un accés à la table pour récupérer champs3 mais comme on récupère bcp de données l'usage de l'index n'est pas intéressant. Dans le 2° cas, plus besoin d'aller dans la table donc autant utiliser l'index, même s'il n'est pas super intéressant, il l'est forcément plus qu'un FULL sur la table |
||
|
|
00
|
|
|
#3 |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 739 ![]() |
Ok je comprends mieux !
Merci
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela. La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com