Forskelle mellem Varchar og Nvarchar

Varchar vs Nvarchar

Varchar er et kort navn på felt med variabelt tegn. Tegnene repræsenterer data, der har ubestemt længde. Varchar i faktisk forstand er en datakolonnetype, der findes i databasestyringssystemer. Feltstørrelsen på Varchar-kolonner 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 en række, og Microsoft SQL-server 2005 har en feltgrænse på 8000. Dette tal kan gå højere i Microsoft SQL-serveren, når Varchar (max) bruges, stige til 2 gigabyte. På den anden side er Nvarchar en kolonne, der kan gemme enhver længde af Unicode-data. Den kodeside, som Nvarchar skal overholde, er en 8 bit-kodning. Den maksimale størrelse for Varchar er 8000, mens den maksimale størrelse for NVarchar er 4000. Dette betyder faktisk, at en enkelt kolonne med Varchar maksimalt kan være 8000 tegn, og en enkelt kolonne med Nvarchar højst kan være 4000 tegn. Overskridelse af søjleværdierne bliver et enormt problem og kan endda forårsage alvorlige problemer, da rækker ikke kan spænde over flere sider, med undtagelse af SQL server 2005, og begrænsningen skal overholdes, eller der vil resultere i fejl eller trunkering…

En af de vigtigste forskelle mellem Varchar og Nvarchar er brugen af ​​mindre plads i Varchar. Dette skyldes, at Nvarchar beskæftiger Unicode, som på grund af besværet med at kode koderne specificerer mere plads. For hvert lagret tegn kræver Unicode to byte med data, og det er dette, der kan få dataværdien til at se højere ud sammenlignet med de ikke-Unicode-data, som Varchar bruger. Varchar kræver på den anden side kun en byte med data for hver enkelt tegn, der er gemt. Vigtigere er det, selvom brugen af ​​Unicode tager mere plads, løser det imidlertid problemer, der opstår med kodesides uforeneligheder, hvilket er en smerte at løse manuelt.

Således kan pladsfunktionen overses fortrinsvis for den kortere tid, det tager Unicode at løse de opstående uforeneligheder. Udgifterne til diske og hukommelse er også blevet meget overkommelige, hvilket sikrer, at pladsfunktionen ofte kan overses, mens den længere tid det tager at løse opstående problemer med Varchar ikke kan afskediges så let.

Alle udviklingsplatforme bruger moderne operativsystemer internt, så Unicode kan køre. Dette betyder, at Nvarchar anvendes oftere end Varchar. Kodning af konverteringer undgås, hvilket reducerer den tid, det tager at læse og skrive til databasen. Dette reducerer også markant fejl, da gendannelse af konverteringsfejl, der forekommer, bliver et simpelt problem at håndtere.

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 konverteringsrelaterede problemer, og data kan altid valideres, hvis de er begrænset til en 7 bit ASCII, uanset det ældre system, der skal opretholdes.

Resumé

Varchar og Nvarchar kommer med forskellige karaktertyper. Varchar bruger ikke-Unicode-data, mens Nvarchar bruger Unicode-data.

Både Varchar og Nvarchar har forskellige datatyper, der skal overholdes. Varchar gemmer kun data i en sekvens på 1 byte, og Nvarchar gemmer data i 2 byte for hvert tegn

Den maksimale længde varierer også. Varchar længde er begrænset til 8000 byte og 4000 bytes er grænsen for Nvarchar.

Dette skyldes, at lagringsstørrelsen i Varchar er mere ligetil i modsætning til de Unicode-data, der bruges af Nvarchar.