Varchar vs Nvarchar : différence et comparaison

Le SGBD est un logiciel permettant de gérer efficacement les bases de données. Un MSSQL est basé sur le modèle du relationnel et relève du SGBD. Les données sont MSSQL stockées dans des tables connectées.

Un ensemble spécifique de valeurs est stocké dans chaque table. Les colonnes représentent les attributs, tandis que l'enregistrement représente chaque ligne.   

Lorsque la table stocke une valeur, chaque colonne a un type de données spécifique. Ou en termes simples, le type de données est activé dans chaque colonne.

En ce qui concerne les types de données, Varchar et Nvarchar sont deux d'entre eux qui sont assez déroutants. Cet article met en évidence les différences entre varchar et Nvarchar. 

Faits marquants

  1. VARCHAR stocke les données de caractères de longueur variable en utilisant un seul octet par caractère, tandis que NVARCHAR stocke les données de caractères de longueur variable en utilisant deux octets par caractère.
  2. NVARCHAR prend en charge une plus large gamme de caractères, y compris les caractères Unicode, tandis que VARCHAR ne prend en charge que les caractères non Unicode.
  3. VARCHAR nécessite moins d'espace de stockage que NVARCHAR en raison de son codage à un octet, ce qui le rend plus efficace pour les jeux de caractères plus petits.

Varchar contre Nvarchar 

VARCHAR est un type de données qui stocke les données de caractères dans un format non Unicode, occupant moins d'espace de stockage mais ne prenant en charge que certains jeux de caractères. NVARCHAR est un type de données qui stocke les données de caractères au format Unicode, occupant plus d'espace de stockage mais prenant en charge une plus large gamme de jeux de caractères.

Varchar contre Nvarchar

Varchar est un type de données lié aux caractères variables dans le serveur AQL. L'allocation de mémoire est fonction des caractères insérés.

Lors de l'utilisation de varchar, les caractères non Unicode sont stockés. Le paramètre de taille maximale (m) de la colonne varchar peut aller de 1 à 255 octets.  

Nvarchar est également un type de données lié aux caractères variables dans SQL Server. Dans la base de données, plusieurs langues peuvent être stockées.

Si d'autres langues sont utilisées, il faudra alors deux fois plus d'espace pour stocker un ensemble étendu de caractères. Lors de l'utilisation de Nvarchar, des caractères Unicode sont utilisés.   

Tableau de comparaison

Paramètres de comparaison Varchar  NvarcharName 
InterprétationEn SQL, varchar est un type de données qui stocke un ensemble de données de caractères non Unicode de longueur indéterminée.En SQL, Nvarchar est un type de données pour stocker des données de caractères Unicode avec une longueur indéterminée.  
Type de données caractèreDonnées non UnicodeDonnées Unicode
La taille du personnageOctets 1Octets 2
Longueur maximale8,0004,000
Taille de stockageLongueur réelle (en octets)2 fois la longueur réelle (en octets)

Qu'est-ce que Varchar ? 

Le type de données varchar stocke des chaînes de caractères de longueur variable qui contiennent des caractères multi-octets et à un octet.

Lisez aussi:  Schéma vs base de données : différence et comparaison

En cela, (R) représente le nombre minimum d'octets réservés pour la colonne, et m représente la taille maximale de la colonne.  

Une colonne considérée comme varchar sans paramètres ni parenthèses a une taille réservée de zéro et une taille maximale d'un octet. Dans le cas de placer un index sur une colonne de varchar, la taille maximale est de 254 octets.

Des chaînes de caractères peuvent également être stockées qui sont plus courtes que la valeur m mais pas plus longues également.  

Il est facultatif de spécifier le paramètre d'espace réservé minimum (R). Cette valeur peut être comprise entre 0 et 255 octets mais doit être inférieure au (m) de la colonne varchar.

Il peut être par défaut à 0 si la valeur minimale n'est pas spécifiée. Il est donc nécessaire de spécifier ce paramètre lorsqu'un utilisateur insère initialement une ligne avec des chaînes de caractères nulles dans la colonne.  

Lorsqu'une chaîne est stockée dans une colonne varchar, seuls les caractères réels sont stockés. Si l'espace réservé ou (R) n'est pas spécifié, mais que certaines chaînes de données sont plus courtes que les octets de (R), certaines lignes réservées à l'espace ne sont pas utilisées. 

Qu'est-ce que Nvarchar ? 

Le Nvarchar est un type de données pour stocker des données de caractères dans un champ de longueur variable. Les caractères non Unicode comme ASCII sont stockés, représentant les majuscules, les symboles, les minuscules et les chiffres. Il faut préciser le max de la colonne.  

Lorsqu'un index est placé sur une colonne Nvarchar, la taille maximale est de 254 octets. Des chaînes de caractères plus courtes peuvent être stockées mais pas plus longues que la valeur spécifiée. Si une valeur d'espace minimum n'est pas spécifiée, la valeur par défaut est 0 de la réserve.

Il est nécessaire de spécifier le paramètre réservé lors de l'insertion initiale de lignes avec des valeurs de données avec peu ou pas de caractères dans cette colonne.

Lisez aussi:  Nvidia GT vs GTX : différence et comparaison

Plus tard, il attend les données mises à jour avec des valeurs plus longues. Cette valeur est comprise entre 0 et 255 octets mais doit être inférieure à la taille maximale de la colonne.  

Les données peuvent être une chaîne de lettres, de chiffres et d'autres caractères à plusieurs octets ou à un octet pris en charge par le jeu de codes des bases de données localisées. 

L'utilisation de Nvarchar économisé sur l'espace utilisé dans une table n'a aucun effet sur la taille de l'index. Un index basé sur la colonne de Nvarchar, la longueur de chaque clé d'index est égale au maximum d'octets, la taille maximale de la colonne. 

Différences principales entre Varchar et Nvarchar 

  1. Varchar est utilisé si les données réelles sont inférieures à la capacité et que les colonnes de longueur variable ou la longueur des données sont variables. Mais Nvarchar est utilisé si vous avez besoin du support Unicode comme Coréen Caractères hangul ou kanji japonais en raison de la surcharge de stockage.   
  2. Les guillemets simples sont utilisés pour entourer les littéraux varchar, par exemple, "John". D'autre part, les littéraux de Nvarchar sont également préfixés par N, comme N'John.'  
  3. En termes d'avantages, Varchar prend moins d'espace mémoire en raison de sa longueur variable, tandis que Nvarchar prend en charge l'exécution d'ordinateurs clients avec différents paramètres régionaux.  
  4. Les caractères non Unicode comme ASCII sont stockés dans varchar, représentant les majuscules, les symboles, les minuscules et les chiffres. Mais les caractères Unicode stockés dans Nvarchar représentent le grec, l'anglais, etc.  
  5. En ce qui concerne les inconvénients, varchar diminue les performances de quelques requêtes SQL, tandis que l'espace de stockage supplémentaire des utilisateurs de Nvarchar n'est pas correctement utilisé.   
Bibliographie
  1. http://www.vldb.org/conf/2006/p1243-houkjar.pdf

Dernière mise à jour : 11 juin 2023

point 1
Une requête?

J'ai mis tellement d'efforts à écrire ce billet de blog pour vous apporter de la valeur. Cela me sera très utile, si vous envisagez de le partager sur les réseaux sociaux ou avec vos amis/famille. LE PARTAGE C'EST ♥️

8 réflexions sur « Varchar vs Nvarchar : différence et comparaison »

  1. Les références fournies pour des lectures supplémentaires ajoutent une rigueur académique à l'article, ce qui en fait une source d'informations fiable pour les professionnels de la gestion de bases de données.

    Répondre
  2. Les types de données Varchar et Nvarchar sont déroutants mais intrigants. Il est essentiel de comprendre les différences afin de tirer le meilleur parti du serveur SQL.

    Répondre
  3. Le tableau de comparaison que vous avez fourni est très utile pour comprendre les distinctions entre Varchar et Nvarchar. Merci d'avoir partagé ces informations perspicaces.

    Répondre
  4. L'explication des types de données VARCHAR et NVARCHAR est claire et complète. J'apprécie les efforts déployés pour fournir des informations détaillées sur ce sujet.

    Répondre
  5. Les avantages et les inconvénients de Varchar et Nvarchar éclairent les lecteurs sur les compromis à faire. Un article bien présenté et très instructif.

    Répondre
  6. L'inclusion des principales différences entre Varchar et Nvarchar à la fin de l'article résume efficacement les principaux points à retenir. Une lecture bien structurée et informative.

    Répondre
  7. L'explication détaillée des types de données Varchar et Nvarchar ainsi que les exemples clairs améliorent considérablement la compréhension de ce sujet complexe.

    Répondre
  8. Comprendre les différences entre Varchar et Nvarchar est essentiel pour la gestion des bases de données. Cet article contribue de manière significative à clarifier ces subtilités.

    Répondre

Laisser un commentaire

Vous voulez enregistrer cet article pour plus tard ? Cliquez sur le cœur dans le coin inférieur droit pour enregistrer dans votre propre boîte d'articles !