Bonjour,
J'ai un resultat different dans le choix d'index avec la meme application, mais 2 serveurs de version Sql differents:
Avec une requete
SELECT * FROM MaTable
WHERE Col1 >= 83 AND Col2 >= 'AAA'
Pour Matable=(Pk int, Col1 int, Col2 Varchar), Index Pk_Index unique clustered, et sur (Col1,Col2):Col1Col2_Index unique, non clustered
J'ai 2 serveurs En SqlServer 2000 :
->Sur le Serveur Personnal édition :
Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 2)
Cette requete utilise bien l'index Col1Col2_Index et renvoie le resultat dans le bon ordre....
MAIS ...
->Sur le Serveur standard édition :
Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
Cette requete utilise bien l'index de Pk Pk_Index !!
Ce qui fausse les résultat
J'ai verifié les parametres/proprietés du serveur, de la base et de la table depuis le query analyser, ils sont identiques. A priori je ne peux pas modifier/Forcer l'index car la requete est generée automatiquement. Pourquoi l'optimiseur de requete ne choisi t il pas le meme index dans les 2 cas ?
Quelqu'un a une idée de cette difference ?
Cordialement
Merci
Partager