Come calcolare la lunghezza di riga in SQL

March 17

Come calcolare la lunghezza di riga in SQL


Gestione delle dimensioni di righe della tabella di SQL Server è una considerazione importante progettazione di database. Le righe che permettono la ricezione di dati superano la massima lunghezza di riga SQL Server di 8.060 byte può essere soggetto a colonne che scorre sopra in pagine aggiuntive, ostacolando le prestazioni. I dati contenuti all'interno di una riga non sempre corrispondono la dimensione totale di riga. Pertanto, la formula per calcolare lo spazio utilizzato da una riga è diverso da quello per calcolare la dimensione totale della riga.

istruzione

Calcolare totale riga Size

1 Fare clic sul pulsante "Start", passare alla cartella "Microsoft SQL Server" appropriato per la versione installata, e cliccare su "SQL Server Management Studio."

2 Connettersi a SQL Server dalla finestra "Connessione al server".

3 Fai clic destro sul database e selezionare "Nuova query".

4 Digitare la seguente query nella nuova finestra di query:

SELEZIONA OBJECT_NAME (syscolumns. [Id]) AS [Nome tabella],

SUM(syscolumns.length) AS [Row Size]

DA syscolumns

JOIN sysobjects ON syscolumns.[id] = sysobjects.[id]

DOVE sysobjects.xtype = 'U'

GROUP BY OBJECT_NAME (syscolumns. [Id])

5 Fare clic sul pulsante "Esegui" per eseguire la query. I risultati mostreranno un elenco di nomi di tabelle e le loro rispettive dimensioni delle righe in byte.

Calcola dati medi per riga

6 Fai clic destro sul database e selezionare "Nuova query".

7 Digitare la seguente query nella nuova finestra di query, sostituendo "<nome tabella>" con il nome della tabella per calcolare i dati per riga:

EXEC sp_spaceused N '<nome tabella>'

8 Fare clic sul pulsante "Esegui" per eseguire la query. I risultati mostreranno una riga con sei colonne.

9 Moltiplicare il numero di parte del valore della colonna "dati" per 1024 per calcolare la dimensione in byte.

10 Dividere la dimensione in byte per il valore della colonna "righe" per calcolare il numero medio di byte per riga.