Różnice między Varchar i Nvarchar

Anonim

Varchar vs Nvarchar

Varchar to krótka nazwa zmiennej pola postaci. Znaki reprezentują dane, które są nieokreślonej długości. W rzeczywistości Varchar jest typem kolumny danych, który można znaleźć w systemach zarządzania bazami danych. Rozmiar pola kolumn Varchar może się różnić w zależności od rozważanej bazy danych.

W Oracle 9i, pole ma maksymalny limit 4000 znaków. MySQL ma ograniczenie danych do 65 535 dla wiersza, a serwer Microsoft SQL 2005 ma limit pola wynoszący 8000. Liczba ta może wzrosnąć w serwerze Microsoft SQL, gdy używany jest Varchar (max), zwiększając się do 2 gigabajtów. Nvarchar, z drugiej strony, jest kolumną, która może przechowywać dowolną długość danych Unicode. Strona kodowa, której musi przestrzegać Nvarchar, to 8-bitowe kodowanie. Maksymalny rozmiar dla Varchar wynosi 8000, a maksymalny rozmiar dla NVarchar wynosi 4000. Oznacza to, że pojedyncza kolumna Varchar może mieć maksymalnie 8000 znaków, a pojedyncza kolumna Nvarchar może mieć najwyżej 4000 znaków. Przekraczanie wartości kolumny staje się ogromnym problemem, a nawet może powodować poważne problemy, ponieważ wiersze nie mogą obejmować wielu stron, z wyjątkiem SQL Server 2005, a ograniczenie musi być przestrzegane, albo wystąpią błędy lub obcięcie.

Jedną z głównych różnic między Varchar i Nvarchar jest użycie mniejszej przestrzeni w Varcharze. Dzieje się tak dlatego, że Nvarchar wykorzystuje Unicode, który ze względu na kłopoty z kodowaniem szczegółów zajmuje więcej miejsca. Dla każdego przechowywanego znaku Unicode wymaga dwóch bajtów danych, a to może spowodować, że wartość danych będzie wyglądała na wyższą w porównaniu do danych nieobsługujących kodu Unicode, z których korzysta Varchar. Z drugiej strony, Varchar wymaga tylko jednego bajtu danych dla każdego przechowywanego znaku. Jednak, co ważniejsze, chociaż użycie Unicode zajmuje więcej miejsca, rozwiązuje problemy wynikające z niekompatybilności stron kodowych, które są problemem ręcznym.

W związku z tym funkcja miejsca może być przeoczona, a krótszy czas, w jakim Unicode naprawia powstające niezgodności. Również koszt dysków i pamięci stał się dość przystępny, co zapewnia, że ​​funkcja przestrzeni może być często pomijana, a dłuższy czas potrzebny na rozwiązanie pojawiających się problemów z Varchar nie może być tak łatwo odrzucony.

Wszystkie platformy programistyczne wykorzystują wewnętrznie nowoczesne systemy operacyjne, pozwalając na działanie Unicode. Oznacza to, że Nvarchar jest zatrudniany częściej niż Varchar. Uniknięto kodowania konwersji, skracając czas potrzebny na odczyt i zapis do bazy danych. To także znacznie redukuje liczbę błędów, a odzyskiwanie błędów konwersji staje się prostym problemem.

Korzyści z używania Unicode dotyczą także osób korzystających z interfejsów aplikacji ASCII, ponieważ baza danych dobrze reaguje, w szczególności na system operacyjny i algorytmy koalicyjne bazy danych. Dane Unicode pozwalają uniknąć problemów związanych z konwersją, a dane zawsze można sprawdzić, jeśli są ograniczone do 7-bitowego ASCII, niezależnie od dotychczasowego systemu, który musi być utrzymany.

streszczenie

Varchar i Nvarchar mają różne typy postaci. Varchar używa danych non-Unicode, podczas gdy Nvarchar używa danych Unicode.

Zarówno Varchar, jak i Nvarchar mają różne typy danych, których należy przestrzegać. Varchar zapisuje dane tylko w 1-bajtowej sekwencji, a Nvarchar zapisuje dane w 2 bajtach dla każdego znaku

Maksymalna długość również się zmienia. Długość Varchara jest ograniczona do 8000 bajtów, a limit Nvarchar to 4000 bajtów.

Wynika to z faktu, że rozmiar pamięci w Varchar jest prostszy w przeciwieństwie do danych Unicode używanych przez Nvarchar.