Erot Varchar ja Nvarchar välillä
Varchar vs. Nvarchar
Varchar on lyhyt nimi Variable Character Fieldille. Merkit edustavat tietoja, jotka ovat määrittelemättömiä. Varchar on varsinaisessa merkityksessä tietokantarakenne, joka löytyy tietokannan hallintajärjestelmistä. Varchar-sarakkeiden kentän koko voi vaihdella riippuen tietokannasta, jota harkitaan.
Oracle 9i-kentässä kentän enimmäisraja on 4000 merkkiä. MySQL: ssä on rajoitusraja 65535 ja Microsoft SQL Server 2005: n kenttäraja on 8000. Tämä luku voi nousta Microsoft SQL -palvelimessa, kun käytetään Varchar (max) -arvoa, joka nousee 2 gigatavulle. Nvarchar on toisaalta sarake, joka voi tallentaa kaiken Unicode-datan pituuden. Nvarcharin täytyy noudattaa koodiväliä, joka on 8-bittinen koodaus. Varcharin enimmäiskoko on 8000, kun NVarchar-enimmäiskoko on 4000. Tämä tarkoittaa, että yksittäinen Varchar-sarake voi olla enintään 8000 merkkiä, ja yksittäinen Nvarchar-sarake voi olla enimmillään 4000 merkkiä. Sarakkeen arvojen ylittäminen tulee olemaan suuri ongelma, ja se voi jopa aiheuttaa vakavia ongelmia, sillä rivit eivät voi ulottua useisiin sivuihin, lukuun ottamatta SQL-palvelinta 2005, ja rajoitusta on noudatettava tai virheitä tai katkaisemista tulee.
Yksi tärkeimmistä eroista Varchar ja Nvarchar välillä on vähemmän tilaa Varcharissa. Tämä johtuu siitä, että Nvarchar käyttää Unicode-järjestelmää, joka erityisominaisuuksien koodauksen vuoksi vie enemmän tilaa. Jokaiselle tallennetulle merkille Unicode vaatii kaksi tavua olevaa dataa, ja tämä voi aiheuttaa datan arvon näyttävän korkeammaksi kuin Varchar käyttää ei-Unicode-dataa. Toisaalta Varchar vaatii vain yhden tavun datan jokaiselle tallennetulle merkille. Vielä tärkeämpää on kuitenkin, että vaikka Unicoden käyttö vie enemmän tilaa, se ratkaisee ongelmat, jotka johtuvat koodisivun yhteensopimattomuuksista, jotka ovat tuska ratkaista käsin.
Siten avaruusominaisuus voidaan jättää huomiotta mieluummin lyhyemmän ajan kuluttua, että Unicode korjaa syntyvät yhteensopimattomuudet. Myös levyjen ja muistien kustannukset ovat tulleet melko edullisiksi, mikä takaa, että avaruusominaisuutta voidaan usein jättää huomiotta, kun taas Varcharin aiheuttamien ongelmien ratkaisemiseksi pidemmän aikaa ei voida irrottaa niin helposti.
Kaikki kehitysympäristöt käyttävät nykyaikaisia käyttöjärjestelmiä sisäisesti, mikä mahdollistaa Unicode-ohjelman käytön. Tämä tarkoittaa, että Nvarchar työskentelee useammin kuin Varchar. Koodausmuodot vältetään, mikä lyhentää tietokannan lukemiseen ja kirjoittamiseen kuluvaa aikaa. Tämä myös vähentää merkittävästi virheitä, ja palauttaa muuntovirheet, jotka tulevat yksinkertaisiksi ongelmiksi.
Unicode-sovelluksen käyttö hyödyttää myös ihmisiä, jotka käyttävät ASCII-sovellusliittymiä, koska tietokanta vastaa hyvin, erityisesti käyttöjärjestelmää ja tietokantojen koalitioalgoritmeja. Unicode-tiedot välttävät muuntamiseen liittyvät ongelmat ja tiedot voidaan aina validoida, jos ne rajoitetaan vain 7-bittiseen ASCII-tietueeseen, riippumatta siitä, mikä vanha järjestelmä on säilytettävä.
Yhteenveto
Varchar ja Nvarchar tulevat erilaisilla luonteilla. Varchar käyttää ei-Unicode-tietoja, kun taas Nvarchar käyttää Unicode-tietoja.
Sekä Varcharilla että Nvarcharilla on erilaisia tietotyyppejä, joita on noudatettava. Varchar tallentaa tiedot vain 1 tavun sekvenssissä ja Nvarchar tallentaa tiedot 2 tavua kullekin merkille
Maksimipituus vaihtelee myös. Varcharin pituus on rajoitettu 8 000 tavuun ja 4000 tavua on Nvarcharin raja.
Tämä johtuu siitä, että Varcharin varastokoko on selkeämpi verrattuna Nvarcharin käyttämiin Unicode-tietoihin.