Index check quickview
mssql
link
Zobrazit kód
declare @schema_name sysname = 'dbo';
declare @table_name sysname = 'TvojeTabulka';
select
db_name() as database_name,
s.name as schema_name,
t.name as table_name,
i.name as index_name,
i.type_desc as index_type,
ips.page_count,
ips.record_count,
ips.avg_fragmentation_in_percent,
us.user_seeks,
us.user_scans,
us.user_lookups,
us.user_updates
from sys.indexes i
join sys.objects t
on i.object_id = t.object_id
join sys.schemas s
on t.schema_id = s.schema_id
outer apply sys.dm_db_index_physical_stats(
db_id(), t.object_id, i.index_id, null, 'LIMITED'
) ips
left join sys.dm_db_index_usage_stats us
on us.database_id = db_id()
and us.object_id = i.object_id
and us.index_id = i.index_id
where t.type = 'U'
and i.index_id > 0
and s.name = @schema_name
and t.name = @table_name
order by
ips.avg_fragmentation_in_percent desc,
(isnull(us.user_seeks,0)+isnull(us.user_scans,0)) desc;