Forskjeller mellom Varchar og Nvarchar Forskjellen mellom

Anonim

Varchar vs Nvarchar

Varchar er et kort navn for Variable Character Field. Tegnene representerer data som er av ubestemt lengde. Varchar er faktisk en datakolontype som er funnet i databasesystemer. Feltstørrelsen på Varchar-kolonnene kan variere, avhengig av databasen som vurderes.

I Oracle 9i har feltet en maksimumsgrense på 4000 tegn. MySQL har en datagrense på 65, 535 på rad, og Microsoft SQL Server 2005 kommer med en feltgrense på 8000. Denne tallet kan gå høyere i Microsoft SQL-serveren når Varchar (maks) brukes, opp til 2 gigabyte. Nvarchar, derimot, er en kolonne som kan lagre lengden på Unicode-data. Kodesiden som Nvarchar må overholde er en 8-bits koding. Maksimumstørrelsen for Varchar er 8000 mens maksimalstørrelsen for NVarchar er 4000. Dette betyr faktisk at en enkelt kolonne av Varchar kan være maksimalt 8000 tegn, og en enkelt kolonne av Nvarchar kan maksimalt være 4000 tegn. Overskridelse av kolonnverdiene blir et stort problem, og kan til og med føre til alvorlige problemer som rader ikke kan spanne flere sider, med unntak av SQL Server 2005, og begrensningen må overholdes, eller feil eller trunking vil resultere …

En av de største forskjellene mellom Varchar og Nvarchar er bruken av mindre plass i Varchar. Dette skyldes at Nvarchar benytter Unicode, som på grunn av besværet med å kode spesifikkene, tar opp mer plass. For hver karakter som er lagret, krever Unicode to byte data, og dette kan føre til at dataverdien ser høyere ut i forhold til de ikke-Unicode-dataene som Varchar bruker. Varchar krever derimot bare en byte av data for hver karakter som er lagret. Imidlertid, enda viktigere, selv om bruken av Unicode tar opp mer plass, løser det problemer som oppstår med kodesiden inkompatibiliteter som er en smerte å løse manuelt.

På denne måten kan romfunksjonen overses, i stedet for kortere tid det tar Unicode å fikse de inkompatibilitetene som oppstår. Også kostnadene for disker og minne har også blitt ganske rimelige, slik at romfunksjonen ofte kan overses, mens lengre tid det tar å løse oppstartsproblemer med Varchar, ikke kan avvises så enkelt.

Alle utviklingsplattformene bruker moderne operativsystemer internt, slik at Unicode kan kjøre. Dette betyr at Nvarchar er ansatt oftere enn Varchar. Kodingskonverteringer unngås, og reduserer tiden det tar å lese og skrive til databasen. Dette reduserer også signifikant feil, med gjenoppretting av konvertering feil som oppstår blir et enkelt problem å håndtere.

--3 ->

Fordelen med å bruke Unicode gjelder også for folk som bruker ASCII-applikasjonsgrensesnitt, da databasen reagerer godt, spesielt operativsystemet og database koalisjonalgoritmer. Unicode-data unngår konverteringsproblemer, og data kan alltid valideres, hvis det er begrenset til en 7-biters ASCII, uavhengig av arvssystemet som må opprettholdes.

Sammendrag

Varchar og Nvarchar kommer med forskjellige karaktertyper. Varchar benytter ikke-Unicode-data mens Nvarchar benytter Unicode-data.

Både Varchar og Nvarchar har varierende datatyper som må overholdes. Varchar lagrer bare data i en 1 byte sekvens, og Nvarchar lagrer data i 2 byte for hvert tegn

Maksimal lengde varierer også. Varchar lengde er begrenset til 8000 byte og 4000 byte er grensen for Nvarchar.

Dette skyldes at lagringsstørrelsen i Varchar er mer enkel i motsetning til Unicode-dataene som brukes av Nvarchar.