查找未使用的非聚集索引和未使用的表. DMV:sys.dm_db_index_usage_stats The counters are initialized to empty whenever the SQL Server (MSSQLSERVER) service is started. In addition,whenever a database is detached or is shut down (for example,because AUTO_CLOSE is set to ON),all rows associated with the database are removed.
--查找未使用的非聚集索引(排除聚集索引和堆表) --This returns all the noclustered indexes that have not been used for any requests by users --or the system from the time SQL Server is started. -- nzperfect select tablename,indexname,'drop index '+tablename+'.'+indexname as dropIndexCommand from ( select object_name(i.object_id) as tablename,i.name as indexname from sys.indexes i left outer join sys.dm_db_index_usage_stats s on s.object_id = i.object_id and s.index_id = i.index_id and s.database_id = db_id() where objectproperty(i.object_id,'IsUserTable') = 1 and objectproperty(i.object_id,'IsMSShipped')=0 and i.index_id > 1 -- 0 indicates the heap 1 indicates the clustered index and i.is_primary_key = 0 -- 1 indicates the primary key and s.object_id is null union all select object_name(i.object_id) as tablename,i.name as indexname from sys.indexes i inner join sys.dm_db_index_usage_stats s on s.object_id = i.object_id and s.index_id = i.index_id and s.database_id = db_id() where objectproperty(i.object_id,'IsMSShipped')=0 and i.index_id > 1 -- 0 indicates the heap 1 indicates the clustered index and i.is_primary_key = 0 -- 1 indicates the primary key and (s.user_seeks + s.user_scans + s.user_lookups)=0 )a
--查找未使用的表 --This returns all the table that have not been used for any requests by users --or the system from the time SQL Server is started. --nzperfect select object_name(i.object_id) as tablename,i.name as clusteredindexname, case when i.index_id=0 then 'Heap Table' when i.index_id=1 then 'Clustered Table' end as TableType from sys.indexes i left outer join sys.dm_db_index_usage_stats s on s.object_id = i.object_id and s.index_id = i.index_id and s.database_id = db_id() where objectproperty(i.object_id,'IsMSShipped')=0 and i.index_id in (0,1) -- 0 indicates the heap 1 indicates the clustered index and s.object_id is null (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|