Char vs Varchar
Char og Varchar er almindeligt anvendte karakterdatatyper i databasesystemet, der ligner hinanden, selvom der er forskelle mellem dem, når det kommer til lagerkrav. I databasedesign er der mange datatyper, der bruges. Ud af dem får karakterdatatyper en mere fremtrædende plads, 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 databasetegnsæt defineres, når databasen oprettes. Igen, ud af disse karakterdatatyper er Char og Varchar de almindeligt anvendte. Denne artikel forklarer, hvad disse to datatyper, char og varchar, er, og forskellen mellem dem.
Hvad er Char?
ISO-definitionen af tegn er et tegn, og tegndatatypen bruges til at gemme et tegn. Char (n) kan gemme n fast størrelse af tegn. Det maksimale antal tegn, som et tegn (n) kan indeholde er 255 tegn, og en strenglængde skal være en værdi fra 1 til 8000. Char er halvtreds procent hurtigere end varchar, og derfor kan vi opnå en bedre ydeevne, når vi arbejder med char. Char bruger statisk hukommelsesallokering ved lagring af data. Når vi vil gemme strenge med en kendt fast længde, er det bedre at bruge char. Som et eksempel, når vi gemmer 'Ja' og 'Nej' som 'Y' og 'N', kan vi bruge datatypen char. Og også når vi gemmer en persons nationale identitetskortnummer med ti tegn, kan vi bruge datatypen som tegn (10).
Hvad er Varchar?
Som navnet antyder, kaldes varchar et variabelt tegn. Varchar bruges til at gemme alfanumeriske data, der har variable længder. Det maksimale antal tegn, som denne datatype kan indeholde, er 4000 tegn, og den maksimale lagerstørrelse er 2 GB. Lagerstørrelsen for varchar er den faktiske længde af dataene plus to bytes. Varchar er langsommere end char, og den bruger dynamisk hukommelsesallokering ved lagring af data. Vi kan bruge varchar ved lagring af data såsom navne, adresser, beskrivelser osv. Ikke kun strenge, men også ikke-strengtyper såsom datotyper, "12. marts 2015", "2015-03-12" kan også gemmes i varchar-datatypen.
Hvad er forskellen mellem Char og Varchar?
• 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 strengetegn med fast størrelse ikke-Unicode, men varchar kan gemme variable størrelser af strenge.
• Char er bedre end varchar for data, der ofte ændres. Dette skyldes, at rækken af data med fast længde ikke er tilbøjelig til fragmentering.
• Char vil kun optage den faste plads, der er defineret, når variablen erklæres. Men varchar vil optage pladsen baseret på de data, der er indsat, og den vil også optage 1 eller 2 bytes som længdepræfikset.
• Hvis data er mindre end 255 tegn, tildeles 1 byte, og hvis data er mere end 255 tegn, reserveres 2 bytes. Hvis vi bruger et tegn til at gemme et flag med 'Y' og 'N', vil det bruge en byte til at gemme, men når vi bruger varchar vil det tage to bytes at gemme flaget, inklusive en ekstra byte som længdepræfikset.
Oversigt:
Char vs Varchar
Char og varchar er den mest brugte tegndatatype, 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 ydeevne ud af dataene, er det vigtigere at vælge de korrekte datatyper til felterne i tabellerne i din database. Det er mere bekvemt at bruge de mindste datatyper, der kan gemme dataene korrekt, fordi de tager mindre plads fra hukommelsen.