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

Como os valores varchar são armazenados em um banco de dados SQL Server?


Restrição completamente inútil, tanto quanto posso ver. Assumindo o padrão FixedVar format (em oposição aos formatos usados ​​com compactação de linha/página ou colunas esparsas) e supondo que você esteja falando sobre varchar(1-8000) colunas

Todos os varchar os dados são armazenados no final da linha em uma seção de comprimento variável (ou em páginas off-row se não couberem na linha). A quantidade de espaço que consome nessa seção (e se termina ou não na linha) depende inteiramente do comprimento dos dados reais e não da declaração da coluna.

O SQL Server usará o comprimento declarado na declaração da coluna ao alocar memória (por exemplo, para sort operações). A suposição feita nessa instância é que varchar as colunas serão preenchidas até 50% do tamanho declarado em média então isso pode ser uma coisa melhor de se olhar ao escolher um tamanho.