Calculate row size

mercoledì 26 luglio 2006 - 16.37

lucagtii Profilo | Junior Member

Ciao a tutti, avrei la necessità di calcolare la dimensione in byte di una singola riga all'interno di una tabella su Sql 2005.


Qualcuno sa darmi un indizio su come è possibile fare questo?

Grazie,
ciao.

Brainkiller Profilo | Guru

>Ciao a tutti, avrei la necessità di calcolare la dimensione in
>byte di una singola riga all'interno di una tabella su Sql 2005.
>Qualcuno sa darmi un indizio su come è possibile fare questo?

Riga intendi Record ?
Se sì, tanto per cominciare se contiene colonne con tipi di dati var* la dimensione sarà variabile e non fissa.
Se non è così è sufficiente che prendi i vari tipi di dati dei vari campi, ti leggi la documentazione su quanti byte occupano moltiplichi il tutto e li sommi.
Esempio un varchar occupera 1 byte per carttere l'nvarchar 2, ecc.
Poi non è detto che questi byte siano gli stessi che scrive SQL magari ne usa di più.
Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

lbenaglia Profilo | Guru

>Poi non è detto che questi byte siano gli stessi che scrive SQL
>magari ne usa di più.

Senza magari, ci sono diversi bytes di offset
Ad ogni modo se si intende stimare le dimensioni di una tabella avente colonne a lunghezza variabile, si introducono già degli errori di approssimazione (ad esempio possiamo supporre che in media una colonna a lunghezza variabile sarà riempita per metà) e quindi questi bytes possono essere trascurati.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5