Char vs Varchar
Char ja Varchar ovat tietokantajärjestelmässä yleisesti käytettyjä merkkitietotyyppejä, jotka näyttävät samanlaisilta, vaikka niiden välillä on eroja tallennustarpeiden suhteen. Tietokannan suunnittelussa käytetään paljon tietotyyppejä. Niistä merkkitietotyypit saavat näkyvämmän paikan, koska niitä käytetään paljon tietojen tallentamiseen numeroihin verrattuna. Merkkitietotyyppejä käytetään merkkien tai aakkosnumeeristen tietojen tallentamiseen merkkijonoihin. Tietokannan merkistö määritetään tietokantaa luodessasi. Jälleen näistä merkkitietotyypeistä Char ja Varchar ovat yleisesti käytettyjä. Tässä artikkelissa selitetään, mitä nämä kaksi tietotyyppiä, char ja varchar, ovat ja niiden välinen ero.
Mikä on Char?
ISO-määritelmä char on merkki ja char-tietotyyppiä käytetään merkin tallentamiseen. Char (n) voi tallentaa n kiinteän kokoista merkkiä. Merkkien enimmäismäärä, johon char (n) mahtuu, on 255 merkkiä ja merkkijonon pituuden on oltava arvo 1-8000. Char on viisikymmentä prosenttia nopeampi kuin varchar, ja siksi voimme saavuttaa paremman suorituskyvyn työskennellessämme hiiltyä. Char käyttää staattista muistijakoa tallennettaessa tietoja. Kun haluamme tallentaa merkkijonoja, joiden pituus on tiedossa, on parempi käyttää merkkiä. Esimerkiksi, kun tallennetaan 'Kyllä' ja 'Ei' nimellä 'Y' ja 'N', voimme käyttää tietotyyppiä char. Ja myös kun tallennamme henkilön kansallista henkilöllisyyskortin numeroa kymmenellä merkillä, voimme käyttää tietotyyppiä merkkinä (10).
Mikä on Varchar?
Kuten nimestä voi päätellä, varcharia kutsutaan muuttujamerkiksi. Varcharia käytetään vaihtamaan pituisia aakkosnumeerisia tietoja. Tähän tietotyyppiin mahtuu enintään 4000 merkkiä ja tallennustilan enimmäiskoko on 2 Gt. Varcharin tallennuskoko on datan todellinen pituus plus kaksi tavua. Varchar on hitaampi kuin char ja se käyttää dynaamista muistin allokointia tietojen tallentamiseen. Voimme käyttää varcharia tallennettaessa tietoja, kuten nimiä, osoitteita, kuvauksia jne. Merkkijonoja, mutta myös muita kuin merkkijonotyyppejä, kuten päivämäärätyypit, "12. maaliskuuta 2015", "12.3.2015", voidaan myös tallentaa varchar-tietotyyppi.
Mikä on ero Charin ja Varcharin välillä?
• Vaikka char ja varchar ovat merkkitietokenttiä, char on kiinteän pituinen tietokenttä ja varchar on vaihtelevan kokoinen tietokenttä.
• Char voi tallentaa vain kiinteäkokoisia ei-Unicode-merkkijonomerkkejä, mutta varchar voi tallentaa erikokoisia merkkijonoja.
• Char on parempi kuin varchar usein muuttuville tiedoille. Tämä johtuu siitä, että kiinteän pituinen tietorivi ei ole altis pirstoutumiselle.
• Char vie vain kiinteän tilan, joka on määritelty muuttujaa ilmoitettaessa. Mutta varchar vie tilan lisättyjen tietojen perusteella ja se vie myös 1 tai 2 tavua pituuden etuliitteenä.
• Jos data on alle 255 merkkiä, varataan yksi tavu ja jos tietoja on enemmän kuin 255 merkkiä, varataan 2 tavua. Jos käytämme merkkiä Y: n ja N: n lipun tallentamiseen, se käyttää yhden tavun tallentamiseen, mutta kun käytämme varcharia, lipun tallentamiseen tarvitaan kaksi tavua sisältäen ylimääräisen tavun pituuden etuliitteenä.
Yhteenveto:
Char vs Varchar
Char ja varchar ovat eniten käytetty tietokannoissa käytettävissä oleva merkkitietotyyppi. Charia käytetään kiinteän pituisen merkkijonon tallentamiseen, kun taas varcharia käytetään vaihtamaan jonoja, joilla on vaihteleva pituus. Tietojen paremman suorituskyvyn saavuttamiseksi on tärkeämpää valita oikeat tietotyypit tietokannan taulukoiden kentille. On kätevämpää käyttää pienimpiä tietotyyppejä, jotka voivat tallentaa tiedot oikein, koska ne vievät vähemmän tilaa muistista.
Kuvat: Varchar Wikicommonsin kautta (Public Domain)