Useful Query to retrieve Index Stats / Query util para stats de indices

 
SQL Server 2005 has a very useful function that returns a dynamic view of index stats.
 
(this is sys.dm_db_index_physical_stats )
 
Even though this function is very powerful, I have found that some additional data would make it even more useful.
 
So after some trial and error work, I found the following query to be more suitable.
 
(See Code Sample 1)
 
This query joins the return of of the function with an inner join to sysobjects (to retrieve the object name and object type) and an outer join to sysindexes (to retrieve the index name, when appropiate)
 
In the function, the only parameter that I usually use is the one that specifies the database name (in the code sample it is the AdventureWorks sample database).
 
 
 
SQL Server 2005 incluye una función muy util que retorna una vista dinámica de las estadísticas de índices.
 
(Esta función es sys.dm_db_index_physical_stats )
 
Si bien esta función es muy poderosa, he encontrado que sería mucho más util si contase con alguna información adicional.
 
Luego de un poco de ensayo y error, he encontrado que el siguiente query es más adecuado.
 
 
(Ver Code Sample 1)
 
Este query hace un inner join entre el retorno de la funcíón y sysobjects (para recuperar el nombre del objeto y el tipo de objeto) y un outer join con sysindexes (para recuperar el nombre del índice, cuando corresponda)
 
En la función, el único parámetro que suelo usar es el que especifica el nombre de la base de datos (en el ejemplo de código es el de la base de datos de ejemplo AdventureWorks).
 
 
 
 
Code Sample 1
 
SELECT sysobj.name object_name,
       sysobj.xtype object_type,
       indexes.name index_name,
       index_data.*
 
FROM sys.dm_db_index_physical_stats (DB_ID(N’AdventureWorks’), NULL, NULL, NULL, NULL) index_data
 
inner join
 
 sys.sysobjects sysobj
 
on index_data.object_id = sysobj.id
 
left outer join sys.sysindexes indexes
 
on index_data.index_id = indexes.indid
 
and index_data.object_id = indexes.id
 
 
 
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s