declare @db_id int
declare @object_id int
set @db_id = DB_ID(N'heb000')
set @object_id = OBJECT_ID(N'heb000')
select * from sys.dm_db_index_physical_stats(@db_id,@object_id,null,null,'detailed')
order by page_count desc
select name from sysobjects where id= 1987694329
select 152960*8/1024
这个查询很慢,5分钟左右。在界面上看索引空间如下:
如果要查具体某个表的索引情况,那么我查到某个表的object_id,索引分clustered 和nonclustered和heap
注意有索引空间和数据空间两项,大小是不一样的,说明不是一个概念。看一下下图:这是查找某个具体object_id的结果。包括如下这么多的索引。
注意索引类型分几种,所以计算的时候应该把page_count加起来再*8/1024应该是实际的占用空间。实际测试如下:
select (169050+2375+69+1+84257+1298+24+1+84061+1081+24+1)*8/1024
结果是2673,这与图二的和是一致的,这说明找到了图二的数字来源。