首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sql server表使用情况统计信息

问Sql server表使用情况统计信息
EN

Stack Overflow用户
提问于 2011-02-27 03:08:44
回答 1查看 16.9K关注 0票数 7

我想找出数据库中哪些表的使用率最高(我指的是读/写字节/表大小比率)或IO /表大小比率。决定哪些表放在较快的光盘上,哪些放在较慢的光盘上。有什么想法吗?

我试着使用dm_db_index_usage_stats

但是如何找出在单次寻道/扫描下有多少IO?

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2011-02-27 03:45:15

代码语言:javascript
复制
Select object_schema_name(UStat.object_id) 
        + '.' + object_name(UStat.object_id) As [Object Name] 
    ,Case
        When Sum(User_Updates + User_Seeks + User_Scans + User_Lookups) = 0 Then Null
        Else Cast(Sum(User_Seeks + User_Scans + User_Lookups) As Decimal)
                    / Cast(Sum(User_Updates 
                                + User_Seeks 
                                + User_Scans
                                + User_Lookups) As Decimal(19,2))
        End As [Proportion of Reads] 
    , Case
        When Sum(User_Updates + User_Seeks + User_Scans + User_Lookups) = 0 Then Null
        Else Cast(Sum(User_Updates) As Decimal)
                / Cast(Sum(User_Updates 
                            + User_Seeks 
                            + User_Scans
                            + User_Lookups) As Decimal(19,2))
        End As [Proportion Of Writes] 
    , Sum(User_Seeks + User_Scans + User_Lookups) As [Total Read Ops] 
    , Sum(User_Updates) As [Total Write Ops]
From sys.dm_db_Index_Usage_Stats As UStat
    Join Sys.Indexes As I 
        On UStat.object_id = I.object_id
            And UStat.index_Id = I.index_Id
    Join sys.tables As T
        On T.object_id = UStat.object_id
Where I.Type_Desc In ( 'Clustered', 'Heap' )
Group By UStat.object_id
Order By object_schema_name(UStat.object_id) 
        + '.' + object_name(UStat.object_id)

顺便说一句,Red-Gate的脚本管理器是免费的,它有一系列用于诊断信息的SQL脚本(不,我不为它们工作)。

SQL Scripts Manager

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5129114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档