sql >> Databasteknik >  >> RDS >> Sqlserver

sql varchar(max) vs varchar(fix)

MSDN

  • Använd varchar när storleken på kolumndataposterna varierar avsevärt.
  • Använd varchar(max) när storleken på kolumndataposterna varierar avsevärt och storleken kan överstiga 8 000 byte.

När längden anges för att deklarera en VARCHAR variabel eller kolumn, den maximala tillåtna längden är 8000 . Om längden är större än 8000 måste du använda MAX specificering som längden. Om en längd som är större än 8000 anges, kommer följande fel att uppstå (förutsatt att den angivna längden är 10000 ):

UPPDATERING :-Jag hittade en länk som jag skulle vilja dela:-

Här

Det är inte mycket prestandaskillnad mellan Varchar[(n)] och Varchar(Max) . Varchar[(n)] ger bättre prestandaresultat jämfört med Varchar(Max) . Om vi ​​vet att data som ska lagras i kolumnen eller variabeln är mindre än eller lika med 8 000 tecken, ger användning av denna Varchar[(n)] datatyp bättre prestanda jämfört med Varchar(Max). Exempel:När jag körde nedanstående skript genom att ändra variabeln @FirstName skriv till Varchar(Max) sedan för 1 miljon uppdrag tar det konsekvent dubbel tid än när vi använde datatyp 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. MySQL .csv-laddning misslyckas på grund av Kan inte lägga till eller uppdatera en underordnad rad:främmande nyckel-begränsning misslyckas

  2. skillnad mellan UNHEX och X (MySQL)

  3. Hur INTERSECT fungerar i PostgreSQL

  4. Kontrollera om användarnamnet finns i mysql-tabellen via php?