2009-10-01 15 views

Respuesta

32

Esto hará que se cierre:

SELECT 
    [TableName] = so.name, 
    [RowCount] = MAX(si.rows) 
FROM 
    sysobjects so, 
    sysindexes si 
WHERE 
    so.xtype = 'U' 
    AND 
    si.id = OBJECT_ID(so.name) 
GROUP BY 
    so.name 
ORDER BY 
    2 DESC 
+0

Funciona muy bien. Gracias. –

+0

¡Se ve muy bien! ¿Funcionará con tablas que no tienen ningún índice (o una clave principal, que se convierte automáticamente en un índice)? – MaxiWheat

+0

No veo por qué no funcionaría con tablas sin un índice explícito. –

0

acabo personalizar mis SSMS 2008 para mostrar las siguientes columnas adicionales para las tablas - Número de filas - Espacio de dato (KB)

para bases de datos - Ubicación primaria de datos - Fecha última copia de seguridad - Fecha de Creación ....

Funciona más rápido la mayoría de las veces sin abrir una consulta, simplemente hago clic en el encabezado de columna para ir a ASC o DESC

+0

¿Cómo hiciste los cambios que describes a SSMS? –

8

Aquí está básicamente el mismo T-SQL que proporcionó Chris Ballance, pero utilizando las nuevas vistas de catálogo de objetos en su lugar de las vistas de compatibilidad:

SELECT SchemaName = schemas.[name], 
     TableName = tables.[name], 
     IndexName = indexes.[name], 
     IndexType = 
      CASE indexes.type 
       WHEN 0 THEN 'Heap' 
       WHEN 1 THEN 'Clustered' 
      END, 
     IndexPartitionCount = partition_info.PartitionCount, 
     IndexTotalRows = partition_info.TotalRows 
FROM sys.tables 
     JOIN sys.indexes 
      ON tables.object_id = indexes.object_id 
       AND indexes.type IN (0, 1) 
     JOIN ( SELECT object_id, index_id, PartitionCount = COUNT(*), TotalRows = SUM(rows) 
       FROM sys.partitions 
       GROUP BY object_id, index_id 
     ) partition_info 
      ON indexes.object_id = partition_info.object_id 
       AND indexes.index_id = partition_info.index_id 
     JOIN sys.schemas ON tables.schema_id = schemas.schema_id 
ORDER BY SchemaName, TableName; 
+1

El formateo de esto es sorprendente, tenemos una base de datos de comercio electrónico compleja con múltiples esquemas y las opciones de visibilidad y clasificación aquí son excelentes. Mi único cambio es agregar 'IndexTotalRows DESC' como la primera opción en 'ORDER BY' para que pueda ver donde mi código se hincha de forma intencionada o no. –

+1

Gracias por agregar una versión basada en el Catálogo de objetos, Kenny. –

Cuestiones relacionadas