Il y a un bon article ici qui traite de ce point. Ce qu'il faut retenir, c'est qu'il n'y a pas de différence dans la taille des tables, mais certains utilisateurs préfèrent utiliser une chaîne de caractères vide car cela peut faciliter les requêtes puisqu'il n'y a pas de vérification de NULL à faire. Il suffit de vérifier si la chaîne est vide. Une autre chose à noter est la signification de NULL dans le contexte d'une base de données relationnelle. Cela signifie que le pointeur vers le champ de caractères est défini sur 0x00 dans l'en-tête de la ligne, et qu'il n'y a donc pas de données accessibles.
Mise à jour Il y a un article détaillé ici qui parle de ce qui se passe réellement au jour le jour.
Chaque ligne a un bitmap nul pour les colonnes qui autorisent les nuls. Si la ligne de la colonne colonne est nulle, un bit du bitmap vaut 1, sinon il vaut 0.
Pour les types de données à taille variable, la taille réelle est de 0 octet.
Pour les types de données à taille fixe, la taille réelle est la taille par défaut du type de données. en octets fixée à la valeur par défaut (0 pour les nombres, '' pour les caractères).
le résultat de DBCC PAGE montre que les chaînes de caractères NULL et vides occupent toutes deux zéro octet .
0 votes
En rapport : SQL : chaîne vide ou valeur NULL
0 votes
Si vous choisissez la voie de la chaîne vide, assurez-vous qu'elle est vide ! Supprimez tous les espaces ! Coupez-la deux fois si nécessaire pour être sûr qu'elle soit vide ! S'il vous plaît.