Char and Varchar er almindeligt anvendte karakterdatatyper i databasesystemet, der ligner ens, selvom der er forskelle mellem dem, når det kommer til lagerkrav. I databasedesign er der en masse datatyper, der bruges. Ud af dem får karakterdatatyper et mere prominent sted, da de bruges til at gemme en masse information sammenlignet med tal. Tegndatatyper bruges til at gemme tegn eller alfanumeriske data i strenge. Typen af databasekarakterer defineres, når databasen oprettes. Igen ud fra disse karakterdatatyper er Char og Varchar de almindeligt anvendte. Denne artikel forklarer, hvad disse to datatyper, char og varchar, er, og forskellen mellem dem.
ISO-definitionen af char er en Karakter og char-datatypen er plejede gem en karakter. Char (n) kan gemme en fast størrelse på tegn. Det maksimale antal tegn, som en karakter (n) kan indeholde, er 255 tegn og en strenglengde skal være en værdi fra 1 til 8000. Char er halvtreds procent hurtigere end varchar, og derfor kan vi få en bedre ydelse, når vi arbejder med char. Char bruger statisk hukommelsesallokering ved lagring af data. Når vi vil opbevare strenge med en kendt fast længde, er det bedre at bruge røjen. Som et eksempel, når vi gemmer 'Ja' og 'Nej' som 'Y' og 'N', kan vi bruge datatypen char. Og også når vi lagrer en persons nationale identitetskortnummer med ti tegn, kan vi bruge datatypen som char (10).
Som navnet antyder kaldes varchar a variabel karakter. Varchar bruges til at gemme alfanumeriske data, der har variabel længde. Det maksimale antal tegn, som denne datatype kan indeholde, er 4000 tegn, og den maksimale lagringsstørrelse er 2 GB. Lagringsstørrelsen for varchar er den faktiske længde på dataene plus to byte. Varchar er langsommere end char, og den bruger dynamisk hukommelsesallokering, når data gemmes. Vi kan bruge varchar, når vi lagrer data som navne, adresser, beskrivelser osv. Ikke kun strenge, men også ikke-strengstyper som datotyper, "12. marts 2015", "12/03/2015" kan også gemmes i varchar datatypen.
• Selvom char og varchar er tegndatafelter, er char et datafelt med fast længde, og varchar er et datafelt med variabel størrelse.
• Char kan kun gemme strenge tegn i ikke-Unicode-format i fast størrelse, men varchar kan gemme variable størrelser på strenge.
• Char er bedre end varchar for data, der ofte ændres. Dette skyldes, at den faste længde med data ikke er tilbøjelig til fragmentering.
• Char indtager kun det faste rum, der er defineret, når variablen deklareres. Men varchar vil optage pladsen baseret på de data, der er indsat, og det vil også optage 1 eller 2 byte som længde præfiks.
• Hvis dataene er mindre end 255 tegn, tildeles 1 byte, og hvis dataene er mere end 255 tegn, reserveres 2 byte. Hvis vi bruger en char til at gemme et flag med 'Y' og 'N', bruger den en byte til at gemme, men når vi bruger varchar vil det tage to byte at gemme flaget inklusive en ekstra byte som længde præfiks.
Resumé:
Char and varchar er den mest anvendte karakterdatatype, der er tilgængelig i databaser. Char bruges til at opbevare en streng med en fast længde, mens varchar bruges til at opbevare strenge, der har en varierende længde. For at få en bedre ydelse fra dataene er det mere vigtigt at vælge de korrekte datatyper for felterne i tabellerne i din database. Det er mere praktisk at bruge de mindste datatyper, der kan gemme dataene korrekt, fordi de tager mindre plads fra hukommelsen.
Billeder høflighed: Varchar via Wikicommons (Public Domain)