Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Existem desvantagens em sempre usar nvarchar (MAX)?


A mesma pergunta foi feita nos fóruns do MSDN:
  • Varchar(max) vs Varchar(255)

Do post original (muito mais informações lá):

Quando você armazena dados em uma coluna VARCHAR(N), os valores são armazenados fisicamente da mesma maneira. Mas quando você armazena em uma coluna VARCHAR(MAX), atrás da tela os dados são tratados como um valor TEXT. Portanto, há algum processamento adicional necessário ao lidar com um valor VARCHAR(MAX). (somente se o tamanho exceder 8000)

VARCHAR(MAX) ou NVARCHAR(MAX) é considerado um 'tipo de valor grande'. Tipos de valores grandes geralmente são armazenados 'fora da linha'. Isso significa que a linha de dados terá um ponteiro para outro local onde o 'grande valor' está armazenado ...