- Utilizzare varchar quando le dimensioni delle voci di dati della colonna variano notevolmente.
- Usa varchar(max) quando le dimensioni delle voci di dati della colonna variano considerevolmente e la dimensione potrebbe superare gli 8.000 byte.
Quando viene specificata la lunghezza nella dichiarazione di un VARCHAR
variabile o colonna, la lunghezza massima consentita è 8000 . Se la lunghezza è maggiore di 8000 , devi usare il MAX
specificatore come la lunghezza. Se una lunghezza maggiore di 8000 viene specificato, si verificherà il seguente errore (supponendo che la lunghezza specificata sia 10000 ):
AGGIORNAMENTO :-Ho trovato un link che vorrei condividere:-
Non c'è molta differenza di prestazioni tra Varchar[(n)]
e Varchar(Max)
. Varchar[(n)]
fornisce risultati di prestazioni migliori rispetto a Varchar(Max)
. Se sappiamo che i dati da archiviare nella colonna o nella variabile sono inferiori o uguali a 8000 caratteri, l'utilizzo di questo tipo di dati Varchar[(n)] offre prestazioni migliori rispetto a Varchar(Max). Esempio:quando ho eseguito quanto segue script modificando la variabile @FirstName
digita su Varchar(Max)
quindi per 1 milione di compiti ci vuole costantemente il doppio del tempo rispetto a quando usavamo il tipo di dati come
Varchar(50) for variable @ FirstName.
DECLARE @FirstName VARCHAR(50), @COUNT INT=0, @StartTime DATETIME = GETDATE()
WHILE(@COUNT < 1000000)
BEGIN
SELECT @FirstName = 'Suraj', @COUNT = @COUNT +1
END
SELECT DATEDIFF(ms,@StartTime,GETDATE()) 'Time Taken in ms'
GO