DB-如何获取当前数据库最大的十张表?

在数据库中执行以下SQL,即可轻松获取当前数据库最大的十张表,按表大小排名,其中所有的临时表统一累计到TMPTABLES:
Select top 10 name as TableName ,sum(Rowcnt) as table_rows ,sum(ReservedKb) as tablesize_kb ,sum(TableUsedKb) as datasize_kb ,sum(UsedKb-TableUsedKb) as indexsize_kb ,sum(TMPTABLESNum) as tmptable_num From (select object_id ,schema_id ,case when name like 'TMP%' then 'TMPTABLES' else name end name ,case when name like 'TMP%' then 1 else 0 end TMPTABLESNum ,(Select max(row_count) from sys.dm_db_partition_stats p with(nolock) where p.object_id=t.object_id and p.index_id < 2) as Rowcnt ,(Select Count(1) from dbo.syscolumns with(nolock) where id = t.object_id) as Columns ,(Select Count(distinct index_id) from sys.dm_db_partition_stats p with(nolock) where p.object_id=t.object_id) as Indexes ,(SELECT SUM(length) FROM dbo.syscolumns with(nolock) WHERE id = t.object_id) as RowLength ,IsNull((Select SUM(reserved_page_count) from sys.dm_db_partition_stats p with(nolock) where p.object_id=t.object_id),0)*8 + IsNull((Select sum(reserved_page_count) FROM sys.dm_db_partition_stats p2 with(nolock) inner join sys.internal_tables it with(nolock) on p2.object_id = it.object_id WHERE it.parent_id = t.object_id AND it.internal_type |
DB-如何获取当前数据库最大的十张表?
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



