Différence entre VARCHAR et CHAR dans MySQL
Ce tutoriel présentera les différences entre varchar
et char
dans MySQL.
Certains des points clés pour chacun sont les suivants.
CAR
CHAR
est un type de données à espace fixe qui prend en charge les chaînes.- Les espaces vides ou restants dans le texte ou la chaîne sont remplacés par des blancs ou des espaces.
CHAR
prend une taille d’un octet pour chaque caractère dans la chaîne ou le texte d’entrée.- Ainsi, nous pouvons dire que si nous définissons
CHAR(100)
, il tiendra la taille de 100 bits quelle que soit la longueur de la chaîne ou le nombre de caractères.
VARCHAR(M)
VARCHAR
a une taille modifiable avec un maximum de 65535 caractères. L’utilisateur devra spécifier une longueur comprise entre 1 et 65535 caractères.- De plus,
VARCHAR
prendx + 1
octets d’espace sur le disque où le nombre total de caractères est inférieur ou égal à 255. Et il prendx + 2
octets d’espace sur le disque où le nombre total de caractères est supérieur ou égal à 256 caractères et inférieur à 65535 caractères. - Enfin,
VARCHAR
peut faire partie d’un index.
Ainsi, nous pouvons résumer les principales différences : varchar
n’est pas de longueur fixe, tandis que char
est de longueur fixe ou de taille fixe.
En pratique, nous pouvons supposer que l’utilisation de varchar
est préférable à l’utilisation du type de données char
. La raison derrière cette hypothèse est que beaucoup d’espace peut être économisé avec le type de données varchar
.
Prenons un exemple pour se rendre compte de l’avantage de varchar
.
Disons que nous définissons un char
comme char(25)
et stockons la valeur de chaîne comme Preet
. D’autre part, définissons une autre colonne avec le type de données est varchar
avec une valeur de chaîne de caractères comme Preet
.
Même si ces colonnes avec différents types de données ont la valeur Preet
, varchar
ne consommera que 5 bits, tandis que char
consommera la totalité des 25 tailles de bits prédéfinies. Le reste de l’espace vide est rempli avec des blancs char
.
Cet avantage de varchar
peut être énorme dans les environnements de production où le stockage est un gros problème. De plus, si nous utilisons varchar
, nous n’avons pas à nous soucier de la taille de notre chaîne dépassant une valeur de bit prédéfinie.