Estadísticas de espacio de los índice de tablas en el servidor SQL

Por 0 No tags Permalink

Para la base de datos actual, podemos obtener las estadísticas para cada partición de índices (incluso si solo tiene una partición), como recuento de filas, recuento de páginas, etc.

id_partición: identificador numérico de la partición (se relaciona con sys.partitons)
object_id: el object_id del objeto al que pertenece la partición
index_id: identifica el índice en la tabla. 0 = Montón
partition_number: 1 para tablas no particionadas. Para tablas particionadas será el número basado en 1 de la partición.
in_row_data_page_count: el número de páginas que se utilizan para los datos del objeto. Pueden ser las páginas hoja de un índice o las páginas de datos de una tabla o montón agrupados
in_row_used_page_count: incluye todas las páginas en uso para el objeto, incluidas las páginas de mapa de asignación de índice y de índice no hoja.
in_row_reserved_page_count: incluye todas las páginas en uso más las páginas reservadas para el objeto, incluso si las páginas no están actualmente en uso.
lob_used_page_count: recuento de páginas en uso para que el objeto almacene valores fuera de fila, como varchar(max), varbinary(max), etc.
lob_reserved_page_count: recuento de las páginas fuera de la fila, incluidas las que están reservadas pero no en uso.
row_overflow_used_page_count: recuento de páginas que están en uso para almacenar datos de desbordamiento para filas que son más grandes de lo que cabe en una sola página de ~8K
row_overflow_reserved_page_count: recuento de páginas en exceso que incluye las páginas que están reservadas pero que no están en uso
used_page_count: número total de páginas en uso en la partición por cualquier motivo
reserved_page_count: número total de páginas en uso o reservadas en la partición por cualquier motivo.
row_count: El número de filas en la tabla.

SELECT sys_schemas.name AS SchemaName,
       sys_objects.name AS TableName,
       sys_indexes.name AS IndexName,
       sys_indexes.type_desc AS IndexType,
       ps.used_page_count * 8 AS IndexSizeKB,
       CAST(ps.used_page_count * 8 / 1024.00 AS Decimal(10, 3)) AS IndexSizeMB,
       CAST(ps.used_page_count * 8 / 1048576.00 AS Decimal(10, 3)) AS IndexSizeGB,
	   ps.partition_number AS PartitionNumber,
	   ps.row_count AS [RowCount]
FROM sys.dm_db_partition_stats ps
INNER JOIN sys.indexes sys_indexes ON ps.[object_id] = sys_indexes.[object_id]
			AND ps.index_id = sys_indexes.index_id AND sys_indexes.type_desc <> 'HEAP'
INNER JOIN sys.objects sys_objects ON sys_objects.[object_id] = ps.[object_id]
INNER JOIN sys.schemas sys_schemas ON sys_objects.[schema_id] = sys_schemas.[schema_id]
			AND sys_schemas.name <> 'SYS'												
ORDER BY 1, 2, 3, 4

Compara el precio para envíos nacionales e internacionales con hasta un 70% de ahorro.

No Comments Yet.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *