|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() |
Bonjour,
Je pense que les "indexs" se basent sur la where clause et non sur le select ? Si c'est le cas, je pense qu'ill est judicieux de mettre les "indexs" dans le même ordre que la where clause !? Avez-vous des réponses concernant ce sujet ? Bien à vous, Yves |
|
|
00
|
|
|
#2 |
![]() ![]() |
Ce que vous pensez est en grande partie correct: les optimiseurs se basent essentiellement sur les conditions de la clause where pour déterminer quel index choisir.
Le select à aussi son importance, mais elle est marginale : si l'optimiseur trouve dans l'index les informations nécessaires à l'affichage, sans passer par les pages de données - on parle de couverture par index - il peut carrément décider de ne pas traverser ces pages de données et être donc encore plus rapide. Il faut ajouter aux clauses Where les jointures apparaissant - de plus en plus souvent depuis le normage SQL2 - dans la clause FROM. Par contre, l'ordre dans lesquelles les clauses where apparaissent ne joue aucun rôle, l'optimiseur étant assez futé pour permuter au besoin. Attention à ce sujet à l'ordre choisi dans la clause FROM. La plupart des optimiseurs ne calculent pas forcément toutes les permutations possibles et travaillent - généralement - par blocs de 4 tables. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com