Différences entre varchar et nvarchar

Différences entre varchar et nvarchar

Varchar vs nvarchar

Varchar est un nom court pour le champ de caractères variables. Les caractères représentent des données qui sont de longueur indéterminée. Varchar dans le sens réel est un type de colonne de données que l'on trouve dans les systèmes de gestion des bases de données. La taille du champ des colonnes varchar peut varier, selon la base de données qui est considérée.

Dans Oracle 9i, le champ a une limite maximale de 4000 caractères. MySQL a une limite de données de 65 535 pour une ligne, et le Microsoft SQL Server 2005 est livré avec une limite de champ de 8000. Ce chiffre peut aller plus haut dans le serveur Microsoft SQL lorsque Varchar (max) est utilisé, passant à 2 gigaoctets. Nvarchar, en revanche, est une colonne qui peut stocker n'importe quelle longueur de données Unicode. Le codepage auquel Nvarchar doit adhérer est un codage à 8 bits. La taille maximale pour Varchar est de 8000 tandis que la taille maximale pour Nvarchar est de 4000. Cela signifie en effet qu'une seule colonne de Varchar peut comporter un maximum de 8000 caractères et une seule colonne de Nvarchar peut comporter 4000 caractères au maximum. Le dépassement des valeurs de colonne devient un énorme problème et peut même provoquer des problèmes graves 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 une troncature en résulteront…

L'une des principales différences entre Varchar et Nvarchar est l'utilisation de moins d'espace dans Varchar. En effet. Pour chaque caractère stocké, Unicode a besoin de deux octets de données, et c'est ce qui peut faire en sorte que la valeur des données soit plus élevée par rapport aux données non Unicode que Varchar utilise. Varchar, en revanche, ne nécessite qu'un seul octet de données pour chaque caractère stocké. Cependant, plus important encore, bien que l'utilisation d'Unicode occupe plus d'espace, elle résout les problèmes sur les incompatibilités de codepage qui sont une douleur à résoudre manuellement.

Ainsi, la fonction d'espace peut être privée de préférence pour le temps plus court qu'il faut Unicode pour réparer les incompatibilités survenant. De plus, le coût des disques et de la mémoire est également devenu assez abordable, garantissant que la fonction d'espace peut souvent être négligée, tandis que le temps nécessaire pour résoudre les problèmes survenus avec Varchar ne peut pas être rejeté si facilement.

Toutes les plateformes de développement utilisent des systèmes d'exploitation modernes en interne, permettant à Unicode de fonctionner. Cela signifie que Nvarchar est utilisé plus souvent que Varchar. Les conversions de codage sont évitées, réduisant le temps nécessaire pour lire et écrire dans la base de données. Cela réduit également considérablement les erreurs, la récupération des erreurs de conversion qui se produisent devenant un simple problème pour traiter.

L'avantage de l'utilisation de Unicode s'applique également aux personnes qui utilisent des interfaces d'application ASCII, car la base de données réagit 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 hérité qui doit être maintenu.

Résumé

Varchar et nvarchar sont livrés avec différents types de caractères. Varchar utilise des données non Unicodes tandis que Nvarchar utilise des données Unicode.

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

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

En effet.