2017-06-06 127 views
0

我们如何看到sql server 2012和更高级别中最删除和最新的表。最新更新和删除的表?

我们如何看到使io最多的表?

这些统计数据是否保留在Sql Server中?

+0

对于第一近似,该数据包含在['SYS。 dm_db_index_usage_stats'](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-index-usage-stats-transact-sql)。不过,这只是自上次启动以来才有效。 –

+0

我写这样的:选择OBJECT_NAME(sys.dm_db_index_usage_stats.object_id)作为李善雄,sys.indexes.name, user_seeks,user_scans,user_lookups,从sys.dm_db_index_usage_stats上sys.dm_db_index_usage_stats.object_id = SYS内加入SYS.INDEXES user_updates .indexes.object_id和sys.dm_db_index_usage_stats.index_id = sys.indexes.index_id 其中,OBJECT_NAME(sys.dm_db_index_usage_stats.object_id)不为空,DB_ID('MY_DB')= database_id order by tablo –

回答

0

索引碎片应该帮助 - 看行和碎片数量:

SELECT 
    B.name AS TableName 
    ,C.name AS IndexName 
    ,C.fill_factor AS IndexFillFactor 
    ,D.rows AS RowsCount 
    ,A.avg_fragmentation_in_percent 
    ,A.page_count 
FROM 
    sys.dm_db_index_physical_stats(DB_ID(),NULL,NULL,NULL,NULL) A 
INNER JOIN 
    sys.objects B 
ON 
    A.object_id = B.object_id 
INNER JOIN 
    sys.indexes C 
ON 
    B.object_id = C.object_id AND A.index_id = C.index_id 
INNER JOIN 
    sys.partitions D 
ON 
    B.object_id = D.object_id AND A.index_id = D.index_id 
WHERE 
    C.index_id > 0 
order by 
    avg_fragmentation_in_percent desc 

PFE:感谢Neeraj Dwivedi在SQL中央