Nos sites sont très compliqués et nous examinons l'optimisation de certaines de nos requêtes existantes.Vitesse de requête de l'index clusterisé SQL Server 2005
Tout en regardant dans ce que nous avons rencontré plusieurs requêtes dont le plan d'exécution était d'environ 4-5 fois plus rapide quand une simple référence de l'index cluster est dans la requête ... par exemple
Si tel était l'ancienne requête :
SELECT ...
FROM myTable
WHERE categoryID = @category
la requête suivante serait 4 fois plus rapide selon le plan d'exécution dans SSMS:
SELECT ...
FROM myTable
WHERE categoryID = @category
AND lotID = lotID
Nous ne pouvons pas sembler logique de la façon dont t Cela rendrait la requête plus rapide. L'index clusterisé est sur lotID mais puisque c'est faire une comparaison avec lui-même, comment cela aide-t-il?
Ce ne serait le cas si toutes les colonnes de l'instruction SELECT étaient également dans l'index cluster. Je ne pense pas vraiment que c'est le cas ici (bien qu'il pourrait être) –
permettez-moi de réitérer toutes les données pour une table (sans compter le débordement de ligne BLOB LOB et l'image + types varchar (max)) ARE dans l'index cluster – SQLMenace
Est-ce une pratique générale d'utiliser un index cluster dans la clause WHERE même si cela n'affecte pas les résultats renvoyés mais accélère la requête? Je n'ai jamais vu ça. –