Rozdíly mezi Varchar a Nvarchar

Anonim

Varchar vs Nvarchar

Varchar je krátký název pro pole proměnné znaků. Znaky představují data neurčité délky. Varchar ve skutečnosti je typ datového sloupce, který se nachází v systémech správy databází. Velikost pole sloupců Varchar se může lišit v závislosti na databázi, která je zvažována.

V Oracle 9i má pole maximální limit 4000 znaků. MySQL má pro datový limit 65 535 a server Microsoft SQL Server 2005 je dodáván s limitem pole 8000. Tato hodnota může na serveru Microsoft SQL vyšší, když je používán Varchar (max) a stoupá na 2 gigabajty. Nvarchar, na druhé straně, je sloupec, který může ukládat libovolnou délku dat Unicode. Kódová stránka, kterou musí Nvarchar dodržovat, je kódování 8 bitů. Maximální velikost pro Varchar je 8000, zatímco maximální velikost pro NVarchar je 4000. To ve skutečnosti znamená, že jediný sloupec Varchar může mít maximálně 8000 znaků a jediný sloupec Nvarcharu může mít maximálně 4000 znaků. Překročení hodnot sloupců se stává obrovským problémem a může dokonce způsobit vážné problémy, protože řádky nemohou překlenout více stránek, s výjimkou serveru SQL Server 2005 a omezení musí být dodrženo nebo budou mít za následek chyby nebo zkrácení.

Jedním z hlavních rozdílů mezi Varchar a Nvarcharem je použití menšího prostoru ve Varcharu. Důvodem je to, že Nvarchar zaměstnává Unicode, který kvůli potížím s kódováním specifik zaberá více místa. U každého uloženého znaku vyžaduje Unicode dva bajty dat a to může způsobit, že hodnota dat bude vypadat vyšší než u dat, které společnost Varchar nepoužívá. Varchar naopak vyžaduje pouze jeden bajt dat pro každou uloženou postavu. Ještě důležitější však je, že ačkoli používání Unicode zabírá více prostoru, řeší problémy, které vznikají při kódování nekompatibility, což je bolest při ručním vyřešení.

Prostorová vlastnost může být přednostně přehlížena, protože kratší doba trvání Unicodeu je určena k vyřešení vzniklých neslučitelností. Také náklady na disky a paměť jsou také poměrně cenově dostupné, což zajišťuje, že prostorová funkce může být často přehlížena, zatímco delší doba, kterou je potřeba vyřešit vzniklé problémy s Varcharem, nemůže být tak snadno odmítnuta.

Všechny vývojové platformy používají interně moderní operační systémy umožňující běh Unicode. To znamená, že Nvarchar je zaměstnán častěji než Varchar. Kódování konverzí je vyloučeno, což zkracuje čas potřebný k čtení a zápisu do databáze. To také významně snižuje chyby, a obnovení konverzních chyb, k nimž dochází, se stává jednoduchým problémem.

Přínos použití aplikace Unicode platí také pro uživatele, kteří používají rozhraní ASCII, protože databáze reaguje dobře, zejména operační systém a koaliční algoritmy databáze. Údaje Unicode zabraňují problémům souvisejícím s konverzí a data mohou být vždy ověřena, pokud jsou omezena na 7 bitovou ASCII, bez ohledu na starší systém, který musí být zachován.

souhrn

Varchar a Nvarchar přicházejí s různými typy znaků. Varchar používá data, která nejsou Unicode, zatímco Nvarchar používá data Unicode.

Varchar i Nvarchar mají různé typy dat, které je třeba dodržovat. Varchar ukládá data pouze v jedné bajtové sekvenci a Nvarchar ukládá data do dvou bajtů pro každý znak

Maximální délka se také liší. Délka Varchar je omezena na 8000 bajtů a 4000 bajtů je limit pro Nvarchar.

Je to proto, že velikost úložiště ve Varcharu je jednodušší než u Unicode dat používaných společností Nvarchar.