2009-05-26 5 views

Répondre

1

varchar (max) ne prendra pas d'espace supplémentaire.

Une chose dangereuse à propos de varchar (max) est que quelqu'un peut potentiellement mais une énorme quantité de données. Cela peut nuire à un utilisateur malveillant. ou un programme défectueux, entre une ligne d'adresse de 1 Mo. Aucun client ou application Web ne s'attend à cela, et cela pourrait les faire planter. Par conséquent, en tant que meilleure pratique, créez des champs varchar avec une longueur maximale spécifiée.

1

Si vous n'êtes pas sûr, et son quelque chose comme un champ de commentaires qui peuvent être assez grand, un type NVARCHAR(MAX) est le chemin à parcourir. Si c'est pour quelque chose avec un maximum raisonnable, comme une adresse postale, alors quelque chose comme NVARCHAR(100) pourrait être mieux.

L'espace utilisé correspond à la longueur maximale de la valeur qui y est entrée.

Ce que je veux dire par là si vous insérez une chaîne de caractères 80, puis mettre à jour avec un remplacement de 40 caractères, l'espace alloué peut rester en 80 caractères jusqu'à ce que la base de données est compactée, la table est reconstruite, etc.

1

Je ne suis pas sûr de ce que vous stockez dans les colonnes, mais vous pouvez considérer varchar au lieu de nvarchar. nvarchar stocke les données unicode utilisées pour les données multilingues et occupe plus d'espace que varchar. Si le champ ne stocke que l'anglais (par exemple) alors varchar pourrait être un meilleur choix.