Разлики между Варчар и Нварчар

Варчар срещу Нварчар

Varchar е кратко име за поле с променливи знаци. Героите представляват данни с неопределена дължина. Varchar в действителен смисъл е тип колона с данни, който се намира в системите за управление на бази данни. Размерът на полето на колоните Varchar може да варира в зависимост от базата данни, която се разглежда.

В Oracle 9i полето има максимален лимит от 4000 знака. MySQL има лимит на данни 65 655 за ред, а Microsoft SQL сървър 2005 идва с ограничение на полето от 8000. Тази цифра може да достигне по-висока стойност в SQL сървъра на Microsoft, когато се използва Varchar (max), като се повиши до 2 гигабайта. Nvarchar, от друга страна, е колона, която може да съхранява всяка дължина на Unicode данни. Кодовата страница, която Nvarchar трябва да спазва, е 8-битово кодиране. Максималният размер за Varchar е 8000, докато максималният размер за NVarchar е 4000. Това всъщност означава, че една колона на Varchar може да бъде максимум 8000 знака, а една колона от Nvarchar може да бъде най-много 4000 знака. Превишаването на стойностите на колоните се превръща в огромен проблем и дори може да доведе до сериозни проблеми, тъй като редовете не могат да обхващат няколко страници, с изключение на SQL сървър 2005 г., а ограничението трябва да се спазва или да възникнат грешки или прерязване…

Една от основните разлики между Варчар и Нварчар е използването на по-малко пространство във Варчар. Това е така, защото Nvarchar използва Unicode, който поради неприятностите при кодирането на спецификата заема повече място. За всеки съхранен символ Unicode изисква два байта данни и това е, което може да накара стойността на данните да изглежда по-висока в сравнение с не-Unicode данни, които Varchar използва. Varchar, от друга страна, изисква само един байт данни за всеки запаметен символ. По-важното е, че въпреки че използването на Unicode заема повече място, то решава проблеми, възникващи при несъвместимости на кодовата страница, които са болка за ръчно решаване.

По този начин характеристиката на пространството може да бъде пренебрегната в предпочитание за по-краткото време, което отнема Unicode да коригира възникналите несъвместимости. Освен това цената на дисковете и паметта също стана доста достъпна, гарантирайки, че пространствената функция често може да се пренебрегне, докато по-дългото време, необходимо за решаване на възникнали проблеми с Varchar, не може да бъде отхвърлено толкова лесно.

Всички платформи за разработка използват вътрешно модерни операционни системи, позволяващи Unicode да работи. Това означава, че Нварчар е нает по-често от Варчар. Избягват се кодирането на преобразуванията, като се намалява времето, необходимо за четене и запис в базата данни. Това също намалява значително грешките, като възстановяването на грешките при преобразуване, които се появяват, се превръща в прост проблем за справяне.

Ползата от използването на Unicode се отнася и за хора, които използват интерфейси на приложенията на ASCII, тъй като базата данни реагира добре, особено на операционната система и алгоритмите за коалиция на базата данни. Данните от Unicode избягват проблеми, свързани с преобразуването и данните винаги могат да бъдат валидирани, ако са ограничени до 7-битов ASCII, независимо от наследената система, която трябва да се поддържа.

резюме

Варчар и Нварчар идват с различни типове знаци. Варчар използва не-Unicode данни, докато Nvarchar използва данни на Unicode.

И Varchar, и Nvarchar имат различни типове данни, които трябва да се спазват. Varchar запазва данни само в 1 байтова последователност, а Nvarchar запазва данни в 2 байта за всеки знак

Максималната дължина също варира. Дължината на Varchar е ограничена до 8000 байта, а 4000 байта е ограничението за Nvarchar.

Това е така, защото размерът на съхранението в Varchar е по-прав, за разлика от данните на Unicode, използвани от Nvarchar.