- Gebruik varchar wanneer de grootte van de kolomgegevensinvoer aanzienlijk varieert.
- Gebruik varchar(max) wanneer de grootte van de kolomgegevensinvoer aanzienlijk varieert, en de grootte kan groter zijn dan 8.000 bytes.
Als de lengte is opgegeven bij het declareren van een VARCHAR
variabele of kolom, de maximaal toegestane lengte is 8000 . Als de lengte groter is dan 8000 , moet u de MAX
. gebruiken specificeerder als de lengte. Als een lengte groter is dan 8000 is opgegeven, treedt de volgende fout op (ervan uitgaande dat de opgegeven lengte 10000 is) ):
UPDATE:-Ik heb een link gevonden die ik wil delen:-
Er is niet veel prestatieverschil tussen Varchar[(n)]
en Varchar(Max)
. Varchar[(n)]
biedt betere prestatieresultaten in vergelijking met Varchar(Max)
. Als we weten dat de gegevens die in de kolom of variabele moeten worden opgeslagen, kleiner zijn dan of gelijk zijn aan 8000 tekens, biedt het gebruik van dit Varchar[(n)]-gegevenstype betere prestaties in vergelijking met Varchar(Max). Voorbeeld:toen ik het onderstaande uitvoerde script door de variabele @FirstName
te wijzigen typ naar Varchar(Max)
dan kost het voor 1 miljoen opdrachten consequent dubbele tijd dan wanneer we datatype gebruikten als
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