Varchar vs Nvarchar
Varchar je skraćeni naziv za promjenjivo polje znakova. Znakovi predstavljaju podatke neodređene duljine. Varchar u stvarnom smislu je vrsta stupca podataka koji se nalazi u sustavima za upravljanje bazama podataka. Veličina polja Varchar stupaca može varirati, ovisno o bazi podataka koja se razmatra.
U Oracle 9i polje ima maksimalno ograničenje od 4000 znakova. MySQL ima ograničenje podataka od 65.535 za red, a Microsoft SQL poslužitelj 2005. dolazi s ograničenjem polja od 8000. Ova se vrijednost može povećati na Microsoftovom SQL poslužitelju kada se koristi Varchar (max) i popeti se na 2 gigabajta. Nvarchar je, s druge strane, stupac u koji se mogu pohraniti bilo koje duljine Unicode podataka. Kodna stranica koje se Nvarchar mora pridržavati je 8-bitno kodiranje. Maksimalna veličina za Varchar iznosi 8000 dok je maksimalna veličina za NVarchar 4000. To zapravo znači da jedan stupac Varchara može biti najviše 8000 znakova, a jedan stupac Nvarchar može imati najviše 4000 znakova. Prekoračenje vrijednosti stupaca postaje ogroman problem i može uzrokovati ozbiljne probleme jer redovi ne mogu obuhvaćati više stranica, s izuzetkom SQL poslužitelja 2005, a ograničenje se mora pridržavati ili će doći do pogreške ili skraćenja…
Jedna od glavnih razlika između Varchara i Nvarchara je korištenje manje prostora u Varcharu. To je zato što Nvarchar koristi Unicode, koji zbog gnjavaže kodiranja specifičnosti zauzima više prostora. Za svaki pohranjeni znak, Unicode trebaju dva bajta podataka, a to može uzrokovati da vrijednost podataka izgleda više u usporedbi s podacima koji nisu u Unicodeu koje Varchar koristi. Varchar, s druge strane, zahtijeva samo jedan bajt podataka za svaki pohranjeni znak. Međutim, još važnije, iako upotreba Unicode zauzima više prostora, ona rješava probleme koji nastaju zbog nekompatibilnosti kodne stranice koje je bol riješiti ručno.
Stoga se značajka prostora može previdjeti u prednostima za kraće vrijeme koje je potrebno Unicode-u da riješi nastale nespojivosti. Također, troškovi diskova i memorije postali su također poprilično pristupačni, što osigurava da se značajka prostora često može zanemariti, dok duže vrijeme potrebno za rješavanje nastalih problema s Varcharom ne može se tako lako odbaciti.
Sve razvojne platforme interno koriste moderne operativne sustave koji omogućuju pokretanje Unicode-a. To znači da je Nvarchar zaposlen češće od Varchara. Izbjegava se kodiranje konverzija, čime se smanjuje vrijeme potrebno za čitanje i pisanje u bazu podataka. To također značajno smanjuje pogreške, a pojavljivanje pogrešaka pretvorbe koje postaju postaju jednostavan problem za rješavanje.
Prednost korištenja Unicode također se odnosi na ljude koji koriste ASCII aplikacijska sučelja jer baza podataka dobro reagira, osobito Operativni sustav i algoritmi koalicije baze podataka. Podaci Unicode izbjegavaju probleme vezane uz pretvorbu i podaci se uvijek mogu provjeriti ako su ograničeni na 7 bitni ASCII, bez obzira na naslijeđeni sustav koji se mora održavati.
Sažetak
Varchar i Nvarchar dolaze s različitim tipovima znakova. Varchar koristi podatke koji nisu Unicode, dok Nvarchar koristi Unicode podatke.
I Varchar i Nvarchar imaju različite vrste podataka kojih se moramo pridržavati. Varchar sprema podatke samo u sekvenci od 1 bajta, a Nvarchar sprema podatke u 2 bajta za svaki znak
Maksimalna duljina također varira. Varchar duljina je ograničena na 8000 bajta, a 4000 bajta granica je za Nvarchar.
To je zbog toga što je veličina prostora za pohranu u Varcharu jednostavnija za razliku od Unicode podataka koje koristi Nvarchar.