Per sapere quanti e quali indici ci sono in una tabella è possibile andare a leggere in un variegato numero di viste di sistema (DMVs d'ora in poi) e da funzioni di sistema. Le informazioni messe e disposizione sono davvero tante, e ci si può perdere. Se è necessario sapere solamente quanti indici ci sono in una tabella, di che tipo sono e quanto occupano è possibile usare questo semplice e comodo script:
select
[name],
type_desc,
space_used_in_kb = (page_count * 8.0),
space_used_in_mb = (page_count * 8.0 / 1024.0)
from
sys.indexes I
inner join
sys.dm_db_index_physical_stats(db_id(), object_id('<schema>.<tabella>'), null, null, null) P on I.[object_id] = P.[object_id] and I.[index_id] = P.[index_id]Lo script fa affidamento sul numero di pagine che compongono l'indice e ne mostra la dimensione sia in kb che in mb.