Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Y a-t-il des inconvénients à toujours utiliser nvarchar(MAX) ?

La même question a été posée sur les forums MSDN :

  • Varchar(max) contre Varchar(255)

Extrait du message d'origine (beaucoup plus d'informations ici) :

Lorsque vous stockez des données dans une colonne VARCHAR(N), les valeurs sont stockées physiquement de la même manière. Mais lorsque vous le stockez dans une colonne VARCHAR(MAX), derrière l'écran, les données sont traitées comme une valeur TEXT. Il y a donc un traitement supplémentaire nécessaire lorsqu'il s'agit d'une valeur VARCHAR(MAX). (uniquement si la taille dépasse 8000)

VARCHAR(MAX) ou NVARCHAR(MAX) est considéré comme un "type de grande valeur". Les types de grande valeur sont généralement stockés "hors ligne". Cela signifie que la ligne de données aura un pointeur vers un autre emplacement où la "grande valeur" est stockée...