Varchar vs Nvarchar
Varchar to krótka nazwa pola zmiennej postaci. Znaki reprezentują dane o nieokreślonej długości. W rzeczywistości Varchar to typ 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 limit danych 65 535 dla wiersza, a Microsoft SQL Server 2005 ma limit pola 8000. Liczba ta może wzrosnąć na serwerze Microsoft SQL, gdy używany jest Varchar (max), zwiększając się do 2 gigabajtów. Z drugiej strony, Nvarchar to kolumna, która może przechowywać dowolną długość danych Unicode. Strona kodowa, do której Nvarchar musi się stosować, to kodowanie 8-bitowe. Maksymalny rozmiar dla Varchar wynosi 8000, podczas gdy maksymalny rozmiar dla NVarchar to 4000. W rezultacie oznacza to, że pojedyncza kolumna Varchar może mieć maksymalnie 8000 znaków, a pojedyncza kolumna Nvarchar może mieć maksymalnie 4000 znaków. Przekroczenie wartości kolumn 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, w przeciwnym razie wystąpią błędy lub obcięcie…
Jedną z głównych różnic między Varchar i Nvarchar jest wykorzystanie mniejszej przestrzeni w Varchar. Wynika to z faktu, że Nvarchar stosuje Unicode, który z powodu kłopotów z kodowaniem zajmuje więcej miejsca. Dla każdego przechowywanego znaku Unicode wymaga dwóch bajtów danych, co może powodować, że wartość danych będzie wyglądać wyżej w porównaniu z danymi innymi niż Unicode, których używa Varchar. Z drugiej strony Varchar wymaga tylko jednego bajtu danych dla każdego przechowywanego znaku. Co ważniejsze, chociaż użycie Unicode zajmuje więcej miejsca, to rozwiązuje problemy wynikające z niezgodności strony kodowej, które są trudne do rozwiązania ręcznie.
Dlatego funkcja miejsca może być przeoczona w preferencjach, ponieważ zajmuje ona mniej czasu, aby naprawić powstałe niezgodności. Również koszty dysków i pamięci stały się dość przystępne, dzięki czemu funkcja przestrzeni może być często pomijana, a dłuższego czasu potrzebnego do rozwiązania powstałych problemów z Varchar nie można tak łatwo odrzucić.
Wszystkie platformy programistyczne używają nowoczesnych systemów operacyjnych wewnętrznie, umożliwiając uruchomienie Unicode. Oznacza to, że Nvarchar jest zatrudniony częściej niż Varchar. Unika się konwersji kodowania, co skraca czas potrzebny na odczyt i zapis do bazy danych. To również znacznie zmniejsza liczbę błędów, a odzyskiwanie błędów konwersji staje się prostym problemem.
Korzyści ze stosowania Unicode dotyczą także osób korzystających z interfejsów aplikacji ASCII, ponieważ baza danych reaguje dobrze, w szczególności system operacyjny i algorytmy koalicji bazy danych. Dane w standardzie Unicode pozwalają uniknąć problemów związanych z konwersją, a dane można zawsze sprawdzić, jeśli są ograniczone do 7-bitowego kodu ASCII, niezależnie od starszego systemu, który należy zachować.
streszczenie
Varchar i Nvarchar mają różne typy postaci. Varchar wykorzystuje dane inne niż Unicode, podczas gdy Nvarchar korzysta z danych Unicode.
Zarówno Varchar, jak i Nvarchar mają różne typy danych, których należy przestrzegać. Varchar zapisuje dane tylko w sekwencji 1-bajtowej, a Nvarchar zapisuje dane w 2 bajtach dla każdego znaku
Maksymalna długość również jest różna. Długość Varchar jest ograniczona do 8000 bajtów, a 4000 bajtów to limit dla Nvarchar.
Wynika to z faktu, że rozmiar pamięci w Varchar jest prostszy niż w przypadku danych Unicode używanych przez Nvarchar.