Pourquoi SQL Server n'utilise-t-il pas mon index?

Dans notre base de données nous avons cette table avec 200.000 lignes

CREATE TABLE dbo.UserTask (
    UserTask_ID int NOT NULL IDENTITY (1, 1),
    UserTask_SequenceNumber int NOT NULL DEFAULT 0,
    UserTask_IdEntitat uniqueidentifier NOT NULL,
    UserTask_Subject varchar(100) NOT NULL,
    UserTask_Description varchar(500) NOT NULL,
            .....
            .....
    CONSTRAINT [PK_UserTask] PRIMARY KEY CLUSTERED 
    (
        [UserTask_ID] ASC
    ) ON [PRIMARY]
) ON [PRIMARY]

J'ai créé un index sur UserTask_IdEntitat colonne avec

CREATE NONCLUSTERED INDEX IX_UserTask_IDEntitat ON dbo.UserTask 
(
    UserTask_IDEntitat
)

De l'exécution de la requête suivante, de l'exécution du plan nous montre que l'indice sur UserTask_IDEntitat est utilisé pour faire la requête:

SELECT UserTask_ID
  FROM UserTask   
 WHERE UserTask_IdEntitat = @IdEntitat 
 ORDER BY UserTask_LastSendSystemDateTime desc

Mais Si nous y ajoutons une autre colonne de la Select liste, puis de l'index n'est pas utilisé

SELECT UserTask_ID, UserTask_SequenceNumber, UserTask_IDEntitat, ....., UserTask_Subject
  FROM UserTask   
 WHERE UserTask_IdEntitat = @IdEntitat 
 ORDER BY UserTask_LastSendSystemDateTime desc

Pourquoi l'ajout d'une colonne différente de la clé primaire fait que le Serveur SQL plan d'exécution de ne pas utiliser l'index sur la UserTask_IDEntitat de la colonne?

Suivant ce lien http://bytes.com/topic/sql-server/answers/144592-sqlsever-not-using-index il semble que le nombre de fois que la valeur filtrée est répété sur la colonne, Il peut le faire, que l'index n'est pas utilisé, mais j'ai essayé de faire la requête avec un @IdEntitat valeur qui est répété à 60.000 fois et d'autres qui se répète seulement 175 fois et les résultats sont les mêmes, l'index sur IDEntitat colonne est ignorée.

Cela me rend fou!!!

Merci pour votre aide.

source d'informationauteur Marc Cals