Rozdiely medzi Varchar a Nvarchar

Varchar vs Nvarchar

Varchar je skrátený názov pre pole premenných znakov. Znaky predstavujú údaje, ktoré majú neurčitú dĺžku. Varchar v skutočnom zmysle je typ stĺpca údajov, ktorý sa nachádza v systémoch správy databáz. Veľkosť polí stĺpcov Varchar sa môže líšiť v závislosti od zvažovanej databázy.

V systéme Oracle 9i má toto pole maximálny limit 4 000 znakov. MySQL má dátový limit 65 535 za riadok a server Microsoft SQL Server 2005 prichádza s limitom poľa 8000. Toto číslo môže ísť vyššie na serveri Microsoft SQL, keď sa použije Varchar (max), pričom sa zvýši na 2 gigabajty. Na druhej strane Nvarchar je stĺpec, do ktorého je možné uložiť ľubovoľnú dĺžku údajov Unicode. Kódová stránka, ktorú musí Nvarchar dodržiavať, je 8-bitové kódovanie. Maximálna veľkosť pre Varchar je 8000, zatiaľ čo maximálna veľkosť pre NVarchar je 4000. V skutočnosti to znamená, že jeden stĺpec Varchar môže mať maximálne 8000 znakov a jeden stĺpec Nvarchar môže mať najviac 4000 znakov. Prekročenie hodnôt stĺpcov sa stáva veľkým problémom a môže dokonca spôsobiť vážne problémy, pretože riadky nemôžu presahovať viacero stránok, s výnimkou servera SQL Server 2005, a musí sa dodržať toto obmedzenie, alebo dôjde k chybám alebo skráteniu ...

Jedným z hlavných rozdielov medzi Varchar a Nvarchar je použitie menšieho priestoru vo Varchar. Je to preto, že Nvarchar používa Unicode, ktorý z dôvodu problémov s kódovaním špecifík zaberá viac miesta. Unicode vyžaduje pre každý uložený znak dva bajty údajov a to môže spôsobiť, že hodnota údajov bude vyzerať vyššia v porovnaní s údajmi, ktoré nepoužívajú Unicode, ktoré používa Varchar. Na druhej strane Varchar vyžaduje iba jeden bajt údajov pre každý uložený znak. A čo je dôležitejšie, hoci používanie Unicode zaberá viac miesta, rieši však problémy, ktoré vznikajú pri nekompatibilite kódových stránok, čo je bolesť, ktorú treba vyriešiť manuálne..

Preto je možné prehliadnuť priestorový prvok, ktorý preferuje kratší čas, ktorý Unicode potrebuje na odstránenie vzniknutej nekompatibility. Aj náklady na disky a pamäť sa stali pomerne cenovo dostupnými, čím sa zabezpečí, že priestorové funkcie sa dajú často prehliadnuť, zatiaľ čo dlhší čas na vyriešenie vznikajúcich problémov s Varcharom sa nedá tak ľahko vylúčiť..

Všetky vývojové platformy interne používajú moderné operačné systémy, čo umožňuje spustenie Unicode. To znamená, že Nvarchar sa používa častejšie ako Varchar. Je zabránené kódovaniu konverzií, čím sa skracuje čas potrebný na čítanie a zápis do databázy. To tiež významne znižuje chyby, pričom obnovenie chýb pri konverzii, ktoré sa vyskytnú, sa stáva jednoduchým problémom, ktorý je potrebné riešiť.

Výhoda použitia Unicode sa týka aj ľudí, ktorí používajú aplikačné rozhrania ASCII, pretože databáza dobre reaguje, najmä operačné systémy a algoritmy koalície databáz. Údaje Unicode sa vyhýbajú problémom súvisiacim s konverziou a údaje sa môžu vždy validovať, ak sú obmedzené na 7-bitový ASCII, bez ohľadu na starý systém, ktorý sa musí udržiavať.

zhrnutie

Varchar a Nvarchar prichádzajú s rôznymi typmi znakov. Varchar využíva údaje, ktoré nie sú kódmi Unicode, zatiaľ čo Nvarchar využíva údaje Unicode.

Varchar aj Nvarchar majú rôzne typy údajov, ktoré je potrebné dodržiavať. Varchar ukladá údaje iba v 1 bajtovom poradí a Nvarchar ukladá údaje v 2 bajtoch pre každý znak

Maximálna dĺžka sa tiež líši. Dĺžka varchar je obmedzená na 8000 bajtov a 4000 bajtov je limit pre Nvarchar.

Dôvodom je skutočnosť, že veľkosť úložiska vo Varchar je priamejšia v porovnaní s údajmi Unicode, ktoré používa Nvarchar.