Forskelle mellem Varchar og Nvarchar Forskel mellem
Varchar vs Nvarchar
Varchar er et kort navn for Variable Character Field. Tegnene repræsenterer data, der er af ubestemt længde. Varchar er i virkeligheden en datakolonne type, der findes i databasestyringssystemer. Feltstørrelsen af Varchar-søjler kan variere afhængigt af den database, der overvejes.
I Oracle 9i har feltet en maksimal grænse på 4000 tegn. MySQL har en datagrænse på 65, 535 i træk, og Microsoft SQL Server 2005 leveres med en feltgrænse på 8000. Denne figur kan gå højere i Microsoft SQL-serveren, når Varchar (max) bruges, stiger til 2 gigabyte. Nvarchar, derimod, er en kolonne, der kan gemme enhver længde af Unicode-data. Kodesiden, som Nvarchar skal overholde, er en 8 bit kodning. Maksimumstørrelsen for Varchar er 8000, mens den maksimale størrelse for NVarchar er 4000. Dette betyder faktisk, at en enkelt kolonne af Varchar kan være maksimalt 8000 tegn, og en enkelt kolonne af Nvarchar kan højst være 4000 tegn. Overskrider kolonne værdier bliver et stort problem og kan endda forårsage alvorlige problemer, da rækker ikke kan spænde over flere sider, undtagen SQL Server 2005, og begrænsningen skal overholdes, eller fejl eller trunkning vil resultere …
En af de største forskelle mellem Varchar og Nvarchar er brugen af mindre plads i Varchar. Dette skyldes, at Nvarchar anvender Unicode, som på grund af besværet med at kode specifikationerne tager mere plads. For hver gemt karakter kræver Unicode to bytes data, og det kan få dataværdien til at se højere i sammenligning med de ikke-Unicode-data, som Varchar bruger. Varchar kræver derimod kun en byte af data for hver enkelt karakter, der er gemt. Men endnu vigtigere, selvom brugen af Unicode optager mere plads, løser det problemer, der opstår med codepage-inkompatibiliteter, som er en smerte at løse manuelt.
Således kan rumfunktionen overses i stedet for den kortere tid, det tager Unicode at rette op på uforenelighederne. Også omkostningerne til diske og hukommelse er også blevet meget overkommelige, hvilket sikrer, at rumfunktionen ofte kan overses, mens jo længere tid det tager at løse opståede problemer med Varchar, kan ikke afskediges så let.
Alle udviklingsplatforme bruger moderne operativsystemer internt, så Unicode kan løbe. Dette betyder, at Nvarchar er ansat oftere end Varchar. Kodende konverteringer undgås, hvilket reducerer den tid det tager at læse og skrive til databasen. Dette reducerer også betydeligt fejl, idet genoprettelsen af konverteringsfejl, der opstår, bliver et simpelt problem at håndtere.
--3 ->Fordelen ved at bruge Unicode gælder også for personer, der bruger ASCII-applikationsgrænseflader, da databasen reagerer godt, især operativsystemet og databasekoalitionsalgoritmerne. Unicode-data undgår konverteringsproblemer, og data kan altid valideres, hvis det er begrænset til en 7 bit ASCII, uanset hvilket arvsystem der skal opretholdes.
Sammendrag
Varchar og Nvarchar kommer med forskellige tegntyper. Varchar benytter ikke-Unicode-data, mens Nvarchar benytter Unicode-data.
Både Varchar og Nvarchar har forskellige datatyper, der skal overholdes. Varchar gemmer kun data i en 1 byte sekvens, og Nvarchar gemmer data i 2 byte for hvert tegn
Den maksimale længde varierer også. Varchar længden er begrænset til 8000 bytes og 4000 bytes er grænsen for Nvarchar.
Dette skyldes, at lagerstørrelsen i Varchar er mere ligetil i modsætning til de Unicode-data, der anvendes af Nvarchar.