Char vs Varchar
Char en Varchar zijn veelgebruikte karaktergegevenstypen in het databasesysteem die er hetzelfde uitzien, hoewel er verschillen zijn als het gaat om opslagvereisten. Bij het ontwerpen van databases worden veel gegevenstypen gebruikt. Van hen krijgen karaktergegevenstypen een prominentere plaats omdat ze worden gebruikt om veel informatie op te slaan in vergelijking met getallen. Tekengegevenstypen worden gebruikt voor het opslaan van tekens of alfanumerieke gegevens in strings. Het type databasetekenset wordt gedefinieerd bij het maken van de database. Nogmaals, van deze karaktergegevenstypen zijn Char en Varchar de meest gebruikte. In dit artikel wordt uitgelegd wat deze twee gegevenstypen, char en varchar, zijn en wat het verschil daartussen is.
Wat is Char?
De ISO-definitie van char is een teken en het gegevenstype char wordt gebruikt om een teken op te slaan. Char (n) kan n tekens met een vaste grootte opslaan. Het maximum aantal tekens dat een char (n) kan bevatten is 255 tekens en een tekenreekslengte moet een waarde hebben van 1 tot 8000. Char is vijftig procent sneller dan varchar en daarom kunnen we betere prestaties krijgen als we werken met char. Char gebruikt statische geheugentoewijzing bij het opslaan van gegevens. Als we strings met een bekende vaste lengte willen opslaan, is het beter om de char te gebruiken. Als we bijvoorbeeld 'Ja' en 'Nee' opslaan als 'Y' en 'N', kunnen we het gegevenstype char gebruiken. En ook wanneer we het nationale identiteitskaartnummer van een persoon met tien tekens opslaan, kunnen we het gegevenstype gebruiken als char (10).
Wat is Varchar?
Zoals de naam al doet vermoeden, wordt varchar een variabel teken genoemd. Varchar wordt gebruikt om alfanumerieke gegevens met variabele lengtes op te slaan. Het maximale aantal tekens dat dit gegevenstype kan bevatten, is 4000 tekens en de maximale opslaggrootte is 2 GB. De opslaggrootte van varchar is de werkelijke lengte van de gegevens plus twee bytes. Varchar is langzamer dan char en gebruikt dynamische geheugentoewijzing bij het opslaan van gegevens. We kunnen varchar gebruiken bij het opslaan van gegevens zoals namen, adressen, beschrijvingen, enz. Niet alleen strings, maar ook niet-stringtypes zoals datumtypes, "12 maart 2015", "2015-03-12" kunnen ook worden opgeslagen in het varchar-gegevenstype.
Wat is het verschil tussen Char en Varchar?
• Hoewel char en varchar karaktergegevensvelden zijn, is char een gegevensveld van vaste lengte en is varchar een gegevensveld van variabele grootte.
• Char kan alleen niet-Unicode-tekenreeksen met een vaste grootte opslaan, maar varchar kan reeksen met variabele grootten opslaan.
• Char is beter dan varchar voor gegevens die vaak veranderen. Dit komt omdat de rij met gegevens met een vaste lengte niet onderhevig is aan fragmentatie.
• Char zal alleen de vaste ruimte innemen die is gedefinieerd bij het declareren van de variabele. Maar varchar zal de ruimte innemen op basis van de gegevens die zijn ingevoegd en het zal ook 1 of 2 bytes in beslag nemen als lengtevoorvoegsel.
• Als de gegevens minder dan 255 tekens bevatten, wordt 1 byte toegewezen en als de gegevens meer dan 255 tekens bevatten, worden 2 bytes gereserveerd. Als we een char gebruiken om een vlag van 'Y' en 'N' op te slaan, zal het één byte gebruiken om op te slaan, maar als we varchar gebruiken, duurt het twee bytes om de vlag op te slaan, inclusief een extra byte als lengtevoorvoegsel.
Samenvatting:
Char vs Varchar
Char en varchar zijn het meest gebruikte karaktergegevenstype dat beschikbaar is in databases. Char wordt gebruikt om een string met een vaste lengte op te slaan, terwijl varchar wordt gebruikt om strings met een variërende lengte op te slaan. Om een betere performance uit de data te halen, is het belangrijker om de juiste datatypes te kiezen voor de velden van de tabellen in je database. Het is handiger om de kleinste gegevenstypen te gebruiken die de gegevens correct kunnen opslaan, omdat ze minder geheugenruimte in beslag nemen.