Különbségek Varchar és Nvarchar között A különbség

Anonim

Varchar vs Nvarchar

A Varchar a Variable Character Field rövid neve. A karakterek határozatlan hosszúságú adatokat jelentenek. A Varchar valójában egy olyan adat oszlop típus, amely az adatbázis-kezelő rendszerekben található. A Varchar oszlopok mezőmérete változó lehet, attól függően, hogy melyik adatbázist veszi figyelembe.

Az Oracle 9i-ben a mező maximum 4000 karakterből áll. A MySQL-nek 65, 535-ös adatkorlátja van a sorok számára, és a 2005-ös Microsoft SQL kiszolgáló 8000 mezős korláttal rendelkezik. Ez a szám magasabb lehet a Microsoft SQL kiszolgálón, ha a Varchar-t (max) 2 gigabájtra emeli. A Nvarchar egy olyan oszlop, amely a Unicode adatainak hosszát tárolhatja. Az Nvarchar által betartandó kódlap egy 8 bites kódolás. A Varchar maximális mérete 8000, míg az NVarchar maximális mérete 4000. Ez valójában azt jelenti, hogy a Varchar egyetlen oszlopa legfeljebb 8000 karakter lehet, és a Nvarchar egy oszlopa legfeljebb 4000 karakter lehet. Az oszlopértékek túllépése hatalmas kérdéssé válik, és súlyos problémákat okozhat, mivel a sorok nem terjedhetnek több lapra, kivéve az SQL Server 2005-et, és a korlátozást be kell tartani, vagy hibákat vagy csonkolásokat eredményez …

A Varchar és a Nvarchar között az egyik legfontosabb különbség a Varchar kevésbé helyes használata. Ez azért van, mert a Nvarchar Unicode-ot alkalmaz, ami a specifikumok kódolásának nehézsége miatt több helyet foglal el. Minden tárolt karakter esetében a Unicode két adatbájtot igényel, és ez okozhatja, hogy az adatérték magasabb, mint a Varchar által használt nem Unicode-adatokhoz képest. A Varchar viszont csak egy bájtnyi adatot igényel minden tárolt karakter számára. Azonban még ennél is fontosabb, hogy bár a Unicode használata több helyet foglal el, megoldja azokat a problémákat, amelyek a kódlap-összeférhetetlenségekkel járnak, amelyek kézzel megoldható fájdalom.

Így a térfunkciót figyelmen kívül hagyhatjuk a rövidebb idő alatt, amikor a Unicode megpróbálja kijavítani a felmerülő összeférhetetlenségeket. Emellett a lemezek és a memória költsége is meglehetősen megfizethetővé vált, biztosítva, hogy a szóközt gyakran figyelmen kívül hagyják, míg a Varcharral felmerülő problémák megoldásához hosszabb ideig nem lehet könnyen elbocsátani.

Minden fejlesztőplatform belső operációs rendszereket használ, lehetővé téve a Unicode futtatását. Ez azt jelenti, hogy a Nvarchar gyakrabban alkalmazott, mint Varchar. A konverziók kódolását elkerüljük, csökkentve az adatbázis olvasásához és írásához szükséges időt. Ez szintén jelentősen csökkenti a hibákat, a konverziós hibák helyreállításával, amelyek egy egyszerű kérdéssel foglalkoznak.

--3 ->

A Unicode használatának előnye az ASCII alkalmazási felületeket használókra is vonatkozik, mivel az adatbázis jól reagál, különösen az operációs rendszer és az adatbázis koalíciós algoritmusai. A Unicode adatok elkerülik a konverzióval kapcsolatos problémákat, és az adatok mindig validálhatók, ha csak egy 7 bites ASCII-re korlátozódnak, tekintet nélkül az örökölt rendszerre, amelyet meg kell őrizni.

Összegzés

Varchar és Nvarchar különböző karaktertípusokkal jönnek. A Varchar nem Unicode adatokat használ, míg a Nvarchar Unicode adatokat használ.

Mind a Varchar, mind a Nvarchar különböző adattípusokkal rendelkezik, amelyeket be kell tartani. A Varchar csak 1 bájtos sorrendben tárolja az adatokat, és a Nvarchar minden karakterhez 2 bájtot menti el

A maximális hossz is változik. A Varchar hossza 8000 bájtra korlátozódik, és 4000 bájt a Nvarchar határértéke.

Ez azért van így, mert a Varchar tárolási mérete sokkal egyszerűbb, mint a Nvarchar által használt Unicode-adatok.