Différences entre Varchar et Nvarchar


Varchar ou Nvarchar

Varchar est un nom abrégé pour Variable Character Field (Champ de caractères variables). Les caractères représentent des données de longueur indéterminée. Varchar au sens propre du terme est un type de colonne de données que l'on trouve dans les systèmes de gestion de base de données. La taille du champ des colonnes Varchar peut varier en fonction de la base de données considérée.

Dans Oracle 9i, le champ a une limite maximum de 4000 caractères. MySQL a une limite de données de 65 535 pour une ligne, et le serveur Microsoft SQL 2005 est livré avec une limite de champ de 8000. Ce chiffre peut être plus élevé dans le serveur Microsoft SQL lorsque Varchar (max) est utilisé, atteignant 2 gigaoctets. Nvarchar, d'autre part, est une colonne qui peut stocker n'importe quelle longueur de données Unicode. La page de code à laquelle Nvarchar doit adhérer est un codage de 8 bits. La taille maximale pour Varchar est de 8000 alors que la taille maximale pour NVarchar est de 4000. Cela signifie en effet qu'une seule colonne de Varchar peut contenir jusqu'à 8000 caractères et une seule colonne de Nvarchar 4000 caractères au maximum. Dépasser les valeurs des colonnes devient un énorme problème et peut même causer de sérieux problèmes car les lignes ne peuvent pas s'étendre sur plusieurs pages, à l'exception de SQL Server 2005, et la limitation doit être respectée ou des erreurs ou la troncature en résultera...

L'une des principales différences entre Varchar et Nvarchar est l'utilisation de moins d'espace dans Varchar. C'est parce que Nvarchar emploie Unicode, qui, à cause de la difficulté de coder les spécificités, prend plus d'espace. Pour chaque caractère stocké, Unicode requiert deux octets de données, et c'est ce qui peut faire paraître la valeur des données plus élevée par rapport aux données non Unicode que Varchar utilise. Varchar, d'autre part, ne requiert qu'un seul octet de données pour chaque caractère stocké. Mais, plus important encore, bien que l'utilisation d'Unicode prenne plus de place, elle résout les problèmes d'incompatibilités de codepage qui sont difficiles à résoudre manuellement.

Ainsi, l'espace peut être négligé de préférence pour le temps plus court qu'il faut à Unicode pour corriger les incompatibilités qui en résultent. En outre, le coût des disques et de la mémoire sont également devenus tout à fait abordables, garantissant que la fonctionnalité d'espace peut souvent être négligé, tandis que le temps plus long qu'il faut pour résoudre les problèmes qui surgissent avec Varchar ne peut pas être écarté si facilement.

Toutes les plates-formes de développement utilisent des systèmes d'exploitation modernes en interne, ce qui permet à Unicode de fonctionner. Cela signifie que Nvarchar est employé plus souvent que Varchar. Les conversions d'encodage sont évitées, réduisant ainsi le temps de lecture et d'écriture de la base de données. Cela permet également de réduire considérablement les erreurs, la récupération des erreurs de conversion qui se produisent devenant un problème simple à traiter.


L'avantage d'utiliser Unicode s'applique également aux personnes qui utilisent des interfaces d'application ASCII, car la base de données répond bien, en particulier le système d'exploitation et les algorithmes de coalition de base de données. Les données Unicode évitent les problèmes liés à la conversion et les données peuvent toujours être validées, si elles sont limitées à un ASCII 7 bits, quel que soit le système existant qui doit être maintenu.

Les idées Clis


Varchar et Nvarchar viennent avec différents types de caractères. Varchar utilise des données non Unicode tandis que Nvarchar utilise des données Unicode.

Varchar et Nvarchar ont des types de données variables qui doivent être respectées. Varchar ne sauvegarde les données que dans une séquence de 1 octet et Nvarchar sauvegarde les données en 2 octets pour chaque caractère

La longueur maximale varie également. La longueur de Varchar est limitée à 8000 octets et 4000 octets est la limite pour Nvarchar.

Ceci est dû au fait que la taille de stockage dans Varchar est plus simple que les données Unicode utilisées par Nvarchar.


Une question ? Nous avons oublié quelque chose ? n'hésitez pas à participer aux commentaires. Nous compléterons cet article avec plaisir.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *