Статистика использования таблицы Sql-сервера - PullRequest
5 голосов
/ 26 февраля 2011

Я хочу выяснить, какие таблицы в базе данных используются наиболее интенсивно (я имею в виду отношение чтения / записи в байтах / размере таблицы) или отношение размера ввода-вывода / размера таблицы. Чтобы решить, какие таблицы разместить на более быстрых дисках, а какие на более медленных. Есть идеи?

Я пытался использовать dm_db_index_usage_stats
Но как узнать, сколько операций ввода-вывода находится в режиме однократного поиска / сканирования?

Заранее спасибо.

1 Ответ

9 голосов
/ 26 февраля 2011
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-скриптыменеджер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...