Я запускаю этот скрипт, чтобы попытаться найти посторонние индексы
select o.name as TableName, i.name as IndexName, p.reserved_page_count * 8.0 / 1024 as SpaceInMB, s.*
from sys.dm_db_index_usage_stats s
inner join sys.objects o on s.object_id = o.object_id
inner join sys.indexes i on i.index_id = s.index_id and i.object_id = o.object_id
inner join sys.dm_db_partition_stats p on i.index_id = p.index_id and o.object_id = p.object_id
where o.name = ‘TableName’
Я знаю, что когда все last_user_seek / scan / lookup равны нулю, ни один пользователь не использовал индекс с момента последнего перезапуска. Но мне интересно, что такое system_scans / lookups / seeks ...? Потому что в одной таблице я обнаружил 5, которые не имели активности пользователя, а одна имела системную активность 10 дней назад. У кого-нибудь есть понимание того, что система может быть сканирует / ищет / ищет? Эти таблицы кажутся слишком переиндексированными, и я хотел бы урезать жир.