Diferențele dintre Varchar și Nvarchar Diferența dintre

Anonim

Varchar vs Nvarchar

Varchar este un nume scurt pentru Câmpul cu caractere variabile. Caracterele reprezintă date care au o lungime nedeterminată. Varchar, în sens real, este un tip de coloană de date care se găsește în sistemele de gestionare a bazelor de date. Dimensiunea câmpului pentru coloanele Varchar poate varia, în funcție de baza de date luată în considerare.

În Oracle 9i, câmpul are o limită maximă de 4000 de caractere. MySQL are o limită de date de 65, 535 pentru un rând, iar serverul Microsoft SQL 2005 vine cu o limită de câmp de 8000. Această cifră poate fi mai mare în serverul Microsoft SQL când Varchar (max) este utilizat, ridicându-se la 2 gigaocteți. Nvarchar, pe de altă parte, este o coloană care poate stoca orice lungime a datelor Unicode. Pagina de cod pe care trebuie să o respecte Nvarchar este codarea pe 8 biți. Dimensiunea maximă pentru Varchar este de 8000, în timp ce dimensiunea maximă pentru NVarchar este de 4000. Aceasta înseamnă că o singură coloană de Varchar poate avea maximum 8000 de caractere și o singură coloană de Nvarchar poate avea cel mult 4000 de caractere. Depășirea valorilor coloanelor devine o problemă uriașă și poate provoca probleme grave, deoarece rândurile nu pot cuprinde mai multe pagini, cu excepția serverului SQL 2005, iar limitarea trebuie respectată sau erorile sau trunchierea vor rezulta …

Una dintre principalele diferențe dintre Varchar și Nvarchar este folosirea unui spațiu mai mic în Varchar. Acest lucru se datorează faptului că Nvarchar utilizează unicode, care, din cauza hassle-ului de a codifica specificul, ocupă mai mult spațiu. Pentru fiecare caracter stocat, Unicode necesită doi octeți de date și acest lucru poate determina valoarea datelor să pară mai mare decât datele non-Unicode pe care le utilizează Varchar. Varchar, pe de altă parte, necesită doar un octet de date pentru fiecare caracter stocat. Cu toate acestea, mai important, deși utilizarea Unicode ocupă mai mult spațiu, soluția rezolvă problemele apărute prin incompatibilitățile codurilor de pagini care reprezintă o durere de rezolvat manual.

Prin urmare, funcția de spațiu poate fi trecută cu vederea mai degrabă timp cât este nevoie de Unicode pentru a remedia incompatibilitățile care apar. De asemenea, costul discurilor și al memoriei a devenit, de asemenea, destul de accesibil, asigurând că caracteristica spațială poate fi adesea ignorată, în timp ce timpul mai lung necesar pentru rezolvarea problemelor apărute cu Varchar nu poate fi respins atât de ușor.

Toate platformele de dezvoltare utilizează sisteme de operare moderne intern, permițând Unicode să ruleze. Aceasta înseamnă că Nvarchar este angajat mai des decât Varchar. Se evită conversiile de codificare, reducând timpul necesar citirii și scrierii în baza de date. Acest lucru reduce, de asemenea, semnificativ erorile, cu recuperarea erorilor de conversie care apar devenind o problemă simplă de rezolvat.

--3 ->

Beneficiul utilizării Unicode se aplică și persoanelor care utilizează interfețe de aplicații ASCII, deoarece baza de date răspunde bine, în special algoritmilor de sistem de operare și de coaliție de baze de date. Datele unicode evită problemele legate de conversii, iar datele pot fi întotdeauna validate, dacă sunt limitate la un ASCII de 7 biți, indiferent de sistemul vechi care trebuie menținut.

Rezumat

Varchar și Nvarchar vin cu diferite tipuri de caractere. Varchar utilizează date non-Unicode, în timp ce Nvarchar utilizează datele Unicode.

Atât Varchar cât și Nvarchar au diferite tipuri de date care trebuie respectate. Varchar salvează numai datele dintr-o secvență de octeți și Nvarchar salvează date în 2 octeți pentru fiecare caracter

Lungimea maximă variază de asemenea. Durata Varchar este limitată la 8000 octeți și 4000 octeți este limita pentru Nvarchar.

Acest lucru se datorează faptului că dimensiunea stocării în Varchar este mai simplă, spre deosebire de datele Unicode utilizate de Nvarchar.