Skillnader mellan Varchar och Nvarchar Skillnaden mellan

Anonim

Varchar vs Nvarchar

Varchar är ett kort namn för variabelt teckenfält. Tecknen representerar data som är obestämd längd. Varchar är i själva verket en datakolonnyp som finns i databashanteringssystem. Fältstorleken för Varchar-kolumnerna kan variera beroende på vilken databas som ska övervägas.

I Oracle 9i har fältet en maxgräns på 4000 tecken. MySQL har en datagräns på 65, 535 i rad och Microsoft SQL Server 2005 levereras med en fältgräns på 8000. Den här siffran kan gå högre i Microsoft SQL-servern när Varchar (max) används, upp till 2 gigabyte. Nvarchar, å andra sidan, är en kolumn som kan lagra vilken längd som helst av Unicode-data. Kodssidan som Nvarchar måste följa är en 8-bitars kodning. Maximal storlek för Varchar är 8000 medan maximal storlek för NVarchar är 4000. Detta innebär att en enda kolumn Varchar kan vara högst 8000 tecken och en enda kolumn med Nvarchar kan högst uppgå till 4000 tecken. Att överskrida kolumnvärdena blir en stor fråga och kan till och med orsaka allvarliga problem eftersom raderna inte kan spänna över flera sidor, med undantag för SQL Server 2005, och begränsningen måste följas eller fel eller trunkning kommer att resultera …

En av de största skillnaderna mellan Varchar och Nvarchar är användningen av mindre utrymme i Varchar. Detta beror på att Nvarchar sysslar med Unicode, vilket på grund av besväret med att koda detaljerna tar upp mer utrymme. För varje lagrad tecken kräver Unicode två byte data, vilket kan leda till att datavärdet ser högre ut jämfört med de icke-Unicode-data som Varchar använder. Varchar kräver å andra sidan bara en byte av data för varje tecken som lagras. Men ännu viktigare, även om användningen av Unicode tar upp mer utrymme, löser det problem som uppstår med kodsidans inkompatibiliteter som är en smärta att lösa manuellt.

Således kan rymdfunktionen förbises, i stället för den kortare tiden det tar Unicode att fixa de inkompatibiliteter som uppstår. Kostnaden för skivor och minne har också blivit ganska överkomligt, vilket gör att rymdfunktionen ofta kan förbises, medan den längre tid det tar för att lösa uppkommande problem med Varchar kan inte avföras så enkelt.

Alla utvecklingsplattformar använder moderna operativsystem internt, vilket gör att Unicode kan köras. Det betyder att Nvarchar är anställd oftare än Varchar. Kodningsomvandlingar undviks, vilket minskar den tid det tar att läsa och skriva till databasen. Detta minskar också felaktigt, med återställandet av konverteringsfel som uppstår är en enkel fråga att hantera.

--3 ->

Fördelen med att använda Unicode gäller även för personer som använder ASCII-applikationsgränssnitt, eftersom databasen svarar väl, särskilt operativsystemet och databaskoalitionsalgoritmerna. Unicode-data undviker omvandlingsrelaterade problem och data kan alltid valideras, om det är begränsat till en 7-bitars ASCII, oberoende av det arvsystem som måste underhållas.

Sammanfattning

Varchar och Nvarchar kommer med olika karaktärstyper. Varchar använder sig av icke-Unicode-data medan Nvarchar använder Unicode-data.

Både Varchar och Nvarchar har olika datatyper som måste följas. Varchar sparar endast data i en 1 byte-sekvens och Nvarchar sparar data i 2 byte för varje tecken

Den maximala längden varierar också. Varchar längd är begränsad till 8000 byte och 4000 byte är gränsen för Nvarchar.

Detta beror på att lagringsstorleken i Varchar är mer okomplicerad i motsats till Unicode-data som används av Nvarchar.