Ho dichiarato una colonna di tipo NVARCHAR(MAX)
in SQL Server 2008, quali sarebbero i caratteri esatti massimi con il MAX come lunghezza?
Ho dichiarato una colonna di tipo NVARCHAR(MAX)
in SQL Server 2008, quali sarebbero i caratteri esatti massimi con il MAX come lunghezza?
Risposte:
La dimensione massima per una colonna di tipo NVARCHAR(MAX)
è 2 GByte di spazio di archiviazione.
Dal momento che NVARCHAR
utilizza 2 byte per carattere, questo è di ca. 1 miliardo di personaggi.
La guerra e la pace di Leo Tolstoj è un libro di 1'440 pagine, contenente circa 600'000 parole - quindi potrebbero essere 6 milioni di caratteri - ben arrotondato. Quindi potresti inserire circa 166 copie dell'intero libro Guerra e Pace in ogni NVARCHAR(MAX)
colonna.
È abbastanza spazio per le tue esigenze? :-)
Per impostazione predefinita, i valori di nvarchar (MAX) sono memorizzati esattamente come i valori di nvarchar (4000), a meno che la lunghezza effettiva non superi i 4000 caratteri; in tal caso, i dati in riga vengono sostituiti da un puntatore a una o più pagine separate in cui sono archiviati i dati.
Se prevedete che i dati superino probabilmente i 4000 caratteri, nvarchar (MAX) è sicuramente la scelta consigliata.
Dalla documentazione MSDN
nvarchar [(n | max )]
Dati stringa Unicode a lunghezza variabile. n definisce la lunghezza della stringa e può essere un valore compreso tra 1 e 4.000. max indica che la dimensione massima di archiviazione è 2 ^ 31-1 byte (2 GB). La dimensione della memoria, in byte, è due volte la lunghezza effettiva dei dati immessi + 2 byte
Penso che in realtà nvarchar(MAX)
possa memorizzare circa 1070000000 caratteri.