J'ai une table avec colonne est traitée bit nul. J'ai créé un index (non groupé) sur cette colonne. Avant d'appliquer la requête d'indexTSQL-Quelle est la différence entre deux requêtes?
**`SELECT top 5000 * From Request Where IsProcessed Is Null`**
a pris 30 à 40 secondes. Rappelez-vous ceci est une très grande table avec des rangées de plus de 10 millions. Maintenant, après avoir créé l'index sur la colonne isprocessed, la même requête n'a montré aucune amélioration des performances.
J'ai essayé une autre requête **
;With TopN As(SELECT Top 5000 * from Request Order By IsProcessed)
SELECT * From TopN Where IsProcessed Is Null
** Maintenant, ce suprizingley de requête donne une sortie en moins de 2 secondes Je me demande pourquoi est-il une différence de perforamnce dans deux requêtes. Quel est le comportement d'indexation sur les colonnes NULL bit
Comme @Thomas noté, ces 2 requêtes ne renverront pas nécessairement le même nombre de lignes, ou même les mêmes lignes ... –