2010-03-11 15 views
11

È possibile scoprire quanto sono grandi i dati in KB o MB per le singole colonne in una tabella? Ho uno script che mi dice la dimensione fisica di ogni tabella, ma mi piacerebbe sapere quanta parte di questo è occupata da certe colonne nel database, specialmente quando ho XML memorizzato in una colonna.SQL Server Determinare le dimensioni fisiche delle colonne della tabella

Qualsiasi aiuto molto apprezzato

Acclamazioni

+0

A mia conoscenza, mi dispiace. Raramente voluto. Per gli altri per rispondere - quale versione di SQL Server stai usando - potrebbe essere rilevante qui. – TomTom

+0

Questo è per SQL Server 2005 – andyJ

risposta

20

Si dovrebbe essere in grado di utilizzare la funzione di lunghezza dati, qualcosa di simile a

select sum(datalength(yourfield)) 
from yourtable 

Ciò sommare i datalengths di tutte le voci di quel campo nel tabella: non tiene conto dei costi generali come i puntatori di campo di lunghezza variabile, lo spazio nella bitmap nullability ecc.

+0

Si noti che questo restituisce la lunghezza in byte: l'ho trovato utile per i miei scopi. selezionare concat (somma (datalength (yourfield))/1024, 'kb') da yourtable – ProVega

1

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

Problemi correlati