Varchar proti Nvarcharju
Varchar je kratko ime za spremenljivo znakovno polje. Znaki predstavljajo podatke nedoločene dolžine. V resničnem smislu je Varchar vrsta podatkovnega stolpca, ki jo najdemo v sistemih za upravljanje podatkovnih baz. Velikost polja stolpcev Varchar se lahko razlikuje, odvisno od baze podatkov, ki se obravnava.
V Oracle 9i ima polje največ 4000 znakov. MySQL ima omejitev podatkov 65.535 za vrstico, Microsoft SQL strežnik 2005 pa ima omejitev polja 8000. Ta številka se lahko poveča pri Microsoftovem strežniku SQL, ko se uporablja Varchar (max), in se dvigne na 2 gigabajta. Nvarchar je na drugi strani stolpec, ki lahko shrani poljubno dolžino podatkov Unicode. Kodna stran, ki se je mora Nvarchar držati, je 8-bitno kodiranje. Največja velikost za Varchar je 8000, največja velikost za NVarchar pa 4000. To dejansko pomeni, da je v enem stolpcu Varchar lahko največ 8000 znakov, en stolpec Nvarcharja pa lahko največ 4000 znakov. Preseganje vrednosti stolpcev postane velika težava in lahko povzroči celo resne težave, saj vrstice ne morejo obsegati več strani, z izjemo SQL strežnika 2005, zato se morate držati omejitve ali pa bodo prihajale do napak ali okrnitve ...
Ena glavnih razlik med Varcharjem in Nvarcharjem je uporaba manj prostora v Varcharju. To je zato, ker Nvarchar uporablja Unicode, ki zaradi težav s kodiranjem specifik zavzame več prostora. Za vsak shranjeni znak Unicode potrebuje dva bajta podatkov in to lahko povzroči, da bo vrednost podatkov videti višja v primerjavi s podatki, ki niso v sistemu Unicode, ki jih uporablja Varchar. Varchar na drugi strani zahteva le en bajt podatkov za vsakega shranjenega znaka. Še pomembneje pa je, da če uporaba Unicode zavzame več prostora, reši težave, povezane z nezdružljivostjo kodne strani, ki jih je mogoče ročno rešiti.
Tako je mogoče prostorsko funkcijo spregledati, če želite, da Unicode odpravi nastale nezdružljivosti. Tudi stroški diskov in pomnilnika so postali precej cenovno dostopni, kar zagotavlja, da je vesoljska funkcija pogosto mogoče spregledati, medtem ko daljšega časa, potrebnega za reševanje nastalih težav z Varcharjem, ni mogoče tako enostavno odpustiti.
Vse razvojne platforme uporabljajo notranje sodobne operacijske sisteme, ki omogočajo delovanje Unicode. To pomeni, da je Nvarchar zaposlen pogosteje kot Varchar. Izogiba se kodiranju pretvorb, kar zmanjša čas za branje in pisanje v bazo. To tudi znatno zmanjšuje napake, pri čemer obnavljanje napak pri pretvorbi postanejo preprosto vprašanje, ki ga je treba obravnavati.
Prednost uporabe Unicode velja tudi za ljudi, ki uporabljajo aplikacijske vmesnike ASCII, saj se baza dobro odziva, zlasti operacijski sistem in algoritmi koalicijske baze podatkov. Podatki Unicode preprečujejo težave, povezane s pretvorbo, in podatke je vedno mogoče preveriti, če so omejeni na 7-bitni ASCII, ne glede na zapuščeni sistem, ki ga je treba vzdrževati.
Povzetek
Varchar in Nvarchar sta različna vrsta znakov. Varchar uporablja podatke, ki niso povezani z Unicode, medtem ko Nvarchar uporablja podatke Unicode.
Varchar in Nvarchar imata različne vrste podatkov, ki se jih moramo držati. Varchar shrani podatke samo v zaporedju 1 bajta, Nvarchar pa podatke shrani v 2 bajta za vsak znak
Tudi največja dolžina se razlikuje. Varchar dolžina je omejena na 8000 bajtov, 4000 bajtov pa je meja za Nvarchar.
To je zato, ker je velikost pomnilnika v Varcharju bolj preprosta, v nasprotju s podatki Unicode, ki jih uporablja Nvarchar.