2009-12-23 5 views
4

Les sys.dm_db_index_usage_stats DMV donne des informations sur nombre de scans et cherche contre un index dans SQL ServerComposite Index - SQL Server

J'ai un grand nombre d'index composite qui comprend plusieurs colonnes. Je soupçonne que ces index causent beaucoup de frais généraux de maintenance que j'aimerais réduire le nombre de colonnes.

Existe-t-il un moyen de trouver des recherches et des analyses par rapport à des colonnes individuelles dans un index composite.

Répondre

3

SQL Server n'implémente pas SKIP SCAN, donc une recherche sur un index composite inclut toujours les colonnes les plus à gauche de l'index.

C'est, si vous avez un index sur (col1, col2), l'indice seek peut être utilisé pour la recherche de col1 ou col1etcol2, mais pas pour col2 seul.

Si vous recherchez l'ensemble de ces colonnes, vous bénéficierez très probablement de l'utilisation de l'index.

Quel est le «surcoût de maintenance» que vous avez mentionné et en quoi diffère-t-il entre les index à colonne unique et à colonne multiple?

+0

Merci pour l'entrée .. il aide .. J'ai un index composite avec des colonnes de fichiers comme (col1, col2, col3, col4, col5) etc ... Peut-on trouver combien de fois toutes les cinq colonnes ont été utilisées dans la recherche .. combien de recherches étaient contre 4 columsn etc. Encore une fois merci pour l'entrée – Dave

+0

'@ Dave': non, vous ne pouvez pas le dire à partir des statistiques d'utilisation de l'index. C'est mieux fait en regardant vos plans d'exécution de requête. – Quassnoi

+0

Merci Quassnoi! .. j'ai besoin de tirer quelques métriques sur l'utilisation de l'index composite dans le serveur .. pour justifier le thet ils ont besoin d'être réduit. Je suppose que sont utilisés ma procédure stockée multiple dans l'application. – Dave

Questions connexes