Røye mot Varchar
Char og Varchar er ofte brukte tegndatatyper i databasesystemet som ser like ut, selv om det er forskjeller mellom dem når det gjelder lagringskrav. I databasedesign er det mange datatyper som brukes. Ut av dem får karakterdatatyper et mer fremtredende sted ettersom de brukes til å lagre mye informasjon i forhold til tall. Tegndatatyper brukes til å lagre tegn eller alfanumeriske data i strenger. Typen database tegnsett defineres når du oppretter databasen. Igjen, ut av disse karakterdatatypene er Char og Varchar de vanligste. Denne artikkelen forklarer hva disse to datatypene, char og varchar, er og forskjellen mellom dem.
Hva er Char?
ISO-definisjonen av røye er et tegn, og røyedatatypen brukes til å lagre et tegn. Char (n) kan lagre n fast størrelse på tegn. Maksimalt antall tegn som en tegn (n) kan inneholde er 255 tegn og en strenglengde må være en verdi fra 1 til 8000. Røye er femti prosent raskere enn varchar, og derfor kan vi få bedre ytelse når vi jobber med røye Char bruker statisk minnetildeling når du lagrer data. Når vi vil lagre strenger med kjent fast lengde, er det bedre å bruke røya. Som et eksempel, når vi lagrer 'Ja' og 'Nei' som 'Y' og 'N', kan vi bruke datatypen char. Og også når vi lagrer en persons nasjonale identitetskortnummer med ti tegn, kan vi bruke datatypen som char (10).
Hva er Varchar?
Som navnet antyder kalles varchar et variabelt tegn. Varchar brukes til å lagre alfanumeriske data som har variabel lengde. Maksimalt antall tegn som denne datatypen kan inneholde er 4000 tegn og maksimal lagringsstørrelse er 2 GB. Lagringsstørrelsen på varchar er den faktiske lengden på dataene pluss to byte. Varchar er tregere enn røye, og den bruker dynamisk minnetildeling når du lagrer data. Vi kan bruke varchar når vi lagrer data som navn, adresser, beskrivelser, etc. Ikke bare strenger, men også ikke-strengstyper som datatyper, “12. mars 2015”,”2015-03-12” kan også lagres i varchar-datatypen.
Hva er forskjellen mellom Char og Varchar?
• Selv om char og varchar er tegndatafelt, er char et datafelt med fast lengde og varchar er et datafelt med variabel størrelse.
• Char kan bare lagre ikke-Unicode strengtegn i fast størrelse, men varchar kan lagre variable størrelser på strenger.
• Char er bedre enn varchar for data som ofte endres. Dette er fordi den faste dataraden ikke er utsatt for fragmentering.
• Char tar bare den faste plassen som er definert når deklarerer variabelen. Men varchar vil oppta plassen basert på dataene som settes inn, og den vil også oppta 1 eller 2 byte som lengdeprefikset.
• Hvis dataene er mindre enn 255 tegn, tildeles 1 byte, og hvis data er mer enn 255 tegn, er 2 byte reservert. Hvis vi bruker en røye til å lagre et flagg av 'Y' og 'N', vil det bruke en byte til å lagre, men når vi bruker varchar, vil det ta to byte å lagre flagget, inkludert en ekstra byte som lengdeprefikset.
Sammendrag:
Røye mot Varchar
Char og varchar er den mest brukte karakterdatatypen som er tilgjengelig i databaser. Røye brukes til å lagre en streng med en fast lengde mens varchar brukes til å lagre strenger som har varierende lengde. For å få bedre ytelse fra dataene, er det viktigere å velge de riktige datatypene for feltene i tabellene i databasen din. Det er mer praktisk å bruke de minste datatypene som kan lagre dataene riktig, fordi de tar mindre plass fra minnet.
Bilder med tillatelse: Varchar via Wikicommons (Public Domain)