Atšķirības starp Varchar un Nvarchar

Varčars vs Nvarčars

Varčars ir mainīgā rakstzīmju lauka īss nosaukums. Rakstzīmes apzīmē datus, kuru garums nav noteikts. Varčara faktiskajā nozīmē ir datu kolonnu tips, kas atrodams datu bāzu pārvaldības sistēmās. Varčara kolonnu lauka lielums var mainīties atkarībā no datu bāzes, kas tiek apskatīta.

Oracle 9i laukā ir maksimālais 4000 rakstzīmju ierobežojums. MySQL datu ierobežojums rindā ir 65 535, un Microsoft SQL server 2005 komplektācijā ar lauka ierobežojumu ir 8000. Šis skaitlis Microsoft SQL serverī var palielināties, ja tiek izmantots Varchar (maks.), Palielinoties līdz 2 gigabaitiem. Savukārt Nvarčara ir kolonna, kurā var saglabāt jebkura garuma Unicode datus. Kodu lapa, kas Nvarčaram jāievēro, ir 8 bitu kodēšana. Maksimālais Varchar izmērs ir 8000, savukārt NVarchar maksimālais izmērs ir 4000. Tas faktiski nozīmē, ka viena Varchar kolonna var būt ne vairāk kā 8000 rakstzīmes un viena Nvarchar kolonna var būt ne vairāk kā 4000 rakstzīmes. Kolonnu vērtību pārsniegšana kļūst par milzīgu problēmu un var izraisīt pat nopietnas problēmas, jo rindas nevar aptvert vairākas lappuses, izņemot SQL server 2005, un ir jāievēro ierobežojums, jo kļūdas vai saīsināšana radīs…

Viena no galvenajām atšķirībām starp Varčāru un Nvarčāru ir mazāk vietas izmantošana Varčārā. Tas notiek tāpēc, ka Nvarčars nodarbina Unicode, kas specifikācijas kodēšanas problēmu dēļ aizņem vairāk vietas. Par katru saglabāto rakstzīmi Unicode nepieciešami divi datu baiti, un tas var izraisīt to, ka datu vērtība izskatās augstāka, salīdzinot ar datiem, kas nav Unicode un kurus izmanto Varchar. No otras puses, Varčara prasa tikai vienu datu baitu par katru saglabāto rakstzīmi. Tomēr vēl svarīgāk ir tas, ka, lai gan Unicode lietošana aizņem vairāk vietas, tas tomēr atrisina problēmas, kas rodas saistībā ar koda lapu nesaderību, kuras ir grūtības atrisināt manuāli.

Tādējādi kosmosa funkciju var neievērot, jo īsāks laiks, kas nepieciešams Unicode, lai novērstu radušās nesaderības. Arī disku un atmiņas izmaksas ir kļuvušas diezgan pieņemamas, nodrošinot, ka kosmosa funkciju bieži var nepamanīt, kamēr ilgāku laiku, kas nepieciešams Varchar radīto problēmu risināšanai, nevar tik viegli atlaist.

Visas attīstības platformas iekšēji izmanto mūsdienīgas operētājsistēmas, ļaujot darboties Unicode. Tas nozīmē, ka Nvarchar tiek nodarbināts biežāk nekā Varchar. Izvairās no kodēšanas konvertēšanas, saīsinot laiku, kas nepieciešams, lai lasītu un ierakstītu datu bāzē. Tas arī ievērojami samazina kļūdas, jo notiekošo reklāmguvumu kļūdu atjaunošana kļūst par vienkāršu problēmu, ar kuru jātiek galā.

Unicode lietošanas priekšrocības attiecas arī uz cilvēkiem, kuri lieto ASCII lietojumprogrammu saskarnes, jo datu bāze labi reaģē, it īpaši uz operētājsistēmu un datu bāzes koalīcijas algoritmiem. Unicode dati novērš ar reklāmguvumiem saistītas problēmas, un datus vienmēr var validēt, ja tie ir ierobežoti ar 7 bitu ASCII, neatkarīgi no mantotās sistēmas, kas jāuztur.

Kopsavilkums

Varčaram un Nvarčaram ir atšķirīgi rakstzīmju veidi. Varčars izmanto datus, kas nav Unicode, bet Nvarchar izmanto Unicode datus.

Gan Varchar, gan Nvarchar ir dažādi datu veidi, kas ir jāievēro. Varčārs datus saglabā tikai 1 baitu secībā, un Nvarčārs datus saglabā 2 baitos par katru rakstzīmi

Atšķiras arī maksimālais garums. Varčara garums ir ierobežots līdz 8000 baitiem, un 4000 baiti ir Nvarčara ierobežojums.

Tas ir tāpēc, ka glabāšanas lielums Varčārā ir vienkāršāks, salīdzinot ar Unikoda datiem, ko izmanto Nvarčars.