2011-02-26 17 views
5

Quiero saber qué tablas de la base de datos son las más utilizadas (me refiero a Bytes de lectura/escritura/relación de tamaño de la tabla) o relación IO/Tamaño de la tabla. Para decidir qué tablas colocar en discos más rápidos y cuáles en los más lentos. ¿Algunas ideas?Estadísticas de uso de la tabla del servidor Sql

He intentado hacer uso de dm_db_index_usage_stats
Pero, ¿cómo saber cuántos IO están en búsqueda única/exploración?

Gracias de antemano.

Respuesta

6
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) 

Por cierto, algo de revisar es Gestor de guiones de libre Rojo-Gate, que tiene una serie de secuencias de comandos SQL para obtener información de diagnóstico (no, yo no trabajo para ellos).

SQL Scripts Manager

+0

Gracias por su ayuda. Verificare los guiones. ¿En su consulta su amenaza busca y escanea como ecual es una buena aproximación? –

+0

@ADAM SKRODZKI - ¿Es una buena aproximación del tráfico al objeto? OMI, debería ser. Si hay problemas de rendimiento específicos que involucran un objeto u objetos dado, entonces usar un rastreo o un Analizador de SQL con los filtros apropiados proporcionaría más detalles sobre las consultas costosas específicas. – Thomas

+0

'sys.dm_db_index_operational_stats' [es probablemente mucho más útil aquí] (http://sqlblog.com/blogs/paul_white/archive/2011/02/17/Seeking-Without-Indexes.aspx) –

Cuestiones relacionadas