Pagkakaiba sa pagitan ng Varchar at Nvarchar

Anonim

Varchar vs Nvarchar

Ang Varchar ay isang maikling pangalan para sa Variable Field Field. Ang mga character ay kumakatawan sa data na walang katiyakan haba. Ang Varchar sa aktwal na kahulugan ay isang uri ng haligi ng data na matatagpuan sa mga sistema ng pamamahala ng database. Ang laki ng field ng Varchar column ay maaaring mag-iba, depende sa database na isinasaalang-alang.

Sa Oracle 9i, ang larangan ay may pinakamataas na limitasyon ng 4000 na mga character. Ang MySQL ay may isang limitasyon ng data na 65,535 para sa isang hilera, at ang Microsoft SQL server 2005 ay may isang limitasyon sa larangan ng 8000. Ang numerong ito ay maaaring mas mataas sa server ng Microsoft SQL kapag ginamit ang Varchar (max), na umaabot sa 2 gigabytes. Ang Nvarchar, sa kabilang banda, ay isang hanay na maaaring mag-imbak ng anumang haba ng data ng Unicode. Ang codepage na Nvarchar ay kailangang sumunod sa isang 8 bit coding. Ang pinakamataas na sukat para sa Varchar ay 8000 habang ang maximum na laki para sa NVarchar ay 4000. Ang epekto nito ay nangangahulugan na ang isang hanay ng Varchar ay maaaring maging isang maximum na 8000 na mga character at isang solong haligi ng Nvarchar ay maaaring maging 4000 na mga character sa pinakamaraming. Ang paglampas sa mga halaga ng haligi ay nagiging isang malaking isyu at maaaring maging sanhi ng malubhang problema bilang mga hanay ay hindi maaaring sumasaklaw ng maraming mga pahina, maliban sa SQL server 2005, at ang limitasyon ay dapat na adhered o mga error o truncation ay magreresulta..

Ang isa sa mga pangunahing pagkakaiba sa pagitan ng Varchar at Nvarchar ay ang paggamit ng mas kaunting espasyo sa Varchar. Ito ay dahil Nvarchar ay gumagamit ng Unicode, kung saan, dahil sa abala ng coding ang mga specifics, tumatagal ng mas maraming espasyo. Para sa bawat karakter na nakaimbak, ang Unicode ay nangangailangan ng dalawang byte ng data, at ito ang maaaring maging sanhi ng halaga ng data upang mas mataas ang hitsura kung ihahambing sa data na di-Unicode na ginagamit ni Varchar. Sa kabilang banda, si Varchar ay nangangailangan lamang ng isang byte ng data para sa bawat at bawat karakter na nakaimbak. Gayunpaman, mas mahalaga, kahit na ang paggamit ng Unicode ay tumatagal ng higit na espasyo, ito ay lutasin ang mga problema na sanhi ng codepage incompatibilities na isang sakit upang malutas nang manu-mano.

Kaya ang tampok na espasyo ay maaaring overlooked sa kagustuhan para sa mas maikling oras na tumatagal ng Unicode upang ayusin ang mga sanhi ng incompatibilities. Gayundin, ang gastos ng mga disk at memorya ay naging masyadong abot-kaya, tinitiyak na ang tampok na espasyo ay maaaring madalas na overlooked, habang ang mas mahabang oras na kinakailangan upang malutas ang mga sanhi ng problema sa Varchar ay hindi madaling awas.

Ang lahat ng mga platform ng pag-unlad ay gumagamit ng mga modernong operating system sa loob, na nagpapahintulot sa Unicode na tumakbo. Nangangahulugan ito na ang Nvarchar ay mas madalas kaysa sa Varchar. Ang mga pag-encode ng pag-encode ay maiiwasan, na binabawasan ang oras na kinakailangan upang basahin at isulat sa database. Ito rin ay makabuluhang binabawasan ang mga error, sa pagbawi ng mga error sa conversion na nangyari maging isang simpleng isyu na haharapin.

Ang benepisyo ng paggamit ng Unicode ay nalalapat din sa mga taong gumagamit ng mga ASCII interface ng application, dahil ang database ay tumugon nang maayos, lalo na ang Operating system at ang algorithm ng koalisyon ng database. Ang data ng Unicode ay maiiwasan ang mga kaugnay na problema sa conversion at ang data ay laging napatunayan, kung pinaghihigpitan sa 7 bit ASCII, hindi isinasaalang-alang ang sistema ng legacy na dapat panatilihin.

Buod

Si Varchar at Nvarchar ay may iba't ibang uri ng pagkatao. Ang Varchar ay gumagamit ng data na di-Unicode habang ginagamit ng Nvarchar ang data ng Unicode.

Parehong Varchar at Nvarchar may iba't ibang mga uri ng data na dapat na adhered sa. Ang Varchar ay nagse-save lamang ng data sa isang 1 byte na pagkakasunod-sunod at Nvarchar ay nagse-save ng data sa 2 bytes para sa bawat karakter

Ang maximum na haba ay nag-iiba rin. Ang haba ng Varchar ay limitado sa 8000 bytes at 4000 bytes ang limitasyon para sa Nvarchar.

Ito ay dahil ang laki ng imbakan sa Varchar ay mas diretso bilang kabaligtaran sa data ng Unicode na ginagamit ng Nvarchar.