2010-03-11 37 views
11

¿Es posible determinar qué tan grande es la información en KB o MB para columnas individuales en una tabla? Tengo un script que me dice el tamaño físico de cada tabla, pero me gustaría saber cuánto de eso ocupan ciertas columnas en la base de datos, especialmente cuando tengo XML almacenado en una columna.SQL Server Determine el tamaño físico de las columnas de la tabla

Cualquier ayuda muy apreciada

Saludos

+0

Que yo sepa, lo siento. Rara vez querido. Para otros responder eso, qué versión de SQL Server estás usando, puede ser relevante aquí. – TomTom

+0

Esto es para SQL Server 2005 – andyJ

Respuesta

20

Usted debe ser capaz de utilizar la función de longitud de datos, algo así como

select sum(datalength(yourfield)) 
from yourtable 

Esto se summate los datalengths de todas las entradas de ese campo en el tabla: no tendrá en cuenta los gastos generales, como los punteros de campo de longitud variable, el espacio en el mapa de bits de anulación, etc.

+0

Debe notarse que esto devuelve la longitud en bytes; esto me resultó útil para mis propósitos. seleccione concat (suma (longitud de datos (su campo))/1024, 'kb') desde yourtable – ProVega

1

Seleccione S UM (DATALENGTH (columnsA))/1024.0 AS KB

Cuestiones relacionadas