sql >> Database teknologi >  >> RDS >> Sqlserver

sql varchar(max) vs varchar(fix)

MSDN

  • Brug varchar, når størrelsen af ​​kolonnedataindtastningerne varierer betydeligt.
  • Brug varchar(max), når størrelsen af ​​kolonnedataindtastningerne varierer betydeligt, og størrelsen kan overstige 8.000 bytes.

Når længden er angivet i deklarationen af ​​en VARCHAR variabel eller kolonne, den maksimalt tilladte længde er 8000 . Hvis længden er større end 8000 , skal du bruge MAX specifikation som længden. Hvis en længde er større end 8000 er angivet, vil følgende fejl blive stødt på (forudsat at den angivne længde er 10000 ):

OPDATERING :-Jeg fandt et link, som jeg gerne vil dele:-

Her

Der er ikke meget forskel på ydeevnen mellem Varchar[(n)] og Varchar(Max) . Varchar[(n)] giver bedre resultater sammenlignet med Varchar(Max) . Hvis vi ved, at data, der skal gemmes i kolonnen eller variablen, er mindre end eller lig med 8000 tegn, giver brug af denne Varchar[(n)]-datatype bedre ydeevne sammenlignet med Varchar(Max). Eksempel:Da jeg kørte nedenstående script ved at ændre variablen @FirstName skriv til Varchar(Max) så for 1 million opgaver tager det konsekvent dobbelt tid, end da vi brugte datatype som

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 


  1. oracle-forespørgsel med flere filterbetingelser

  2. oracle underforespørgsel i søgeord er langsom på 12c

  3. HVOR ALT IKKE ER NULL

  4. Tegnsætkodninger og lagerstørrelsesfaktorer