SQL2000的sysindexes视图在SQL2005中的另类表现

 

-- 查找表和索引以及行数

    select object_name ( i . object_id ) as objectName , i . name as indexName , sum ( p . rows ) as rowCnt

    from sys . indexes i

    join sys . partitions p

    on   i . object_id = p . object_id

    and   i . index_id = p . index_id

    where i . object_id = '567777180'   --object_id('')

    and   i . index_id <= 1

    group by i . object_id , i . index_id , i . name

   

-- 使用的总页数 , 使用的页面 , 堆数据页以及索引等相关计数

    select object_name ( i . object_id ) as objectName , i . name as indexName ,

            sum ( a . total_pages ) as totalPages , sum ( a . used_pages ) as usedPages , sum ( a . data_pages ) as dataPages ,

            ( sum ( a . total_pages ) * 8) / 1024 as totalSpaceMB , ( sum ( a . used_pages ) * 8) / 1024 as usedSpaceMB , ( sum ( a . data_pages ) * 8) / 1024 as dataSpaceMB

    from sys . indexes i

    join sys . partitions p

    on   i . object_id = p . object_id

    and   i . index_id = p . index_id

    join sys . allocation_units a

    on   p . partition_id = a . container_id

    where i . object_id = '567777180'   --object_id('')

    and   i . index_id <= 1

    group by i . object_id , i . index_id , i . name

   

-- 使用的总页数 , 使用的页面 , 堆数据页以及索引等相关计数的分类显示

    select case when grouping ( i . object_id ) = 1 then '--- TOTAL ---' else object_name ( i . object_id ) end as objectName ,

            case when grouping ( i . name ) = 1 then '--- TOTAL ---' else i . name end as indexName ,

            case when grouping ( a . type_desc ) = 1 then '--- TOTAL ---' else a . type_desc end as pageType ,

            sum ( a . total_pages ) as totalPages , sum ( a . used_pages ) as usedPages , sum ( a . data_pages ) as dataPages ,

            ( sum ( a . total_pages ) * 8) / 1024 as totalSpaceMB , ( sum ( a . used_pages ) * 8) / 1024 as usedSpaceMB , ( sum ( a . data_pages ) * 8) / 1024 as dataSpaceMB

    from sys . indexes i

    join sys . partitions p

    on   i . object_id = p . object_id

    and   i . index_id = p . index_id

    join sys . allocation_units a

    on   p . partition_id = a . container_id

    where i . object_id = '567777180'   --object_id('')

    and   i . index_id <= 1

group by i . object_id , i . name , a . type_desc with rollup

 

注:文档中的 '567777180'   sys . objects 表中 object_id

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值