Pergunta

Em um dos minha empresa muito anterior estamos habituados a ter uma tabela separada que nós armazenados descrições longas em uma coluna de tipo de texto. Eu acho que isso foi feito por causa das limitações que vêm com o tipo de texto.

Im agora projetar as tabelas para a aplicação existente que estou trabalhando e esta questão vem à minha mente. Estou ressoando no sentido de armazenar a descrição longa de meus artigos na mesma mesa o item em uma coluna varchar (max). Eu entendo que não pode indexar esta coluna, mas que é OK como eu não vou estar fazendo pesquisas sobre estas colunas.

Até agora eu não posso ver qualquer razão para separar esta coluna para outra tabela.

Você pode me dar entrada se eu estou faltando algo ou se armazenar minhas descrições na mesma tabela em varchar (max) é uma boa abordagem? Obrigado!

Foi útil?

Solução

Mantenha os campos na tabela a que pertencem. Desde SQL Server 2005 o motor tem muito mais inteligente no que diz respeito a grandes tipos de dados e tipos de dados de curto comprimento, mesmo variável. O texto antigo, NTEXT e tipos de imagem estão obsoletos. Os novos tipos com MAX comprimento são o seu substituto. Com o SQL 2005, cada partição tem 3 tipos de unidades de alocação subjacentes: um para linhas, uma para LOBs e outra para linha de estouro. Os tipos MAX são armazenados na unidade de alocação LOB, então na verdade o motor está a gerir para você uma tabela separada para armazenar objetos grandes. A unidade de linha de transbordo é para dados de comprimento variável em-linha que depois de uma atualização não seria mais apto na página, por isso é 'sobrevoados' em uma unidade separada.

Tabela e Organização Índice .

Outras dicas

Depende de quantas vezes você usá-los, mas sim, você pode querer o sobre uma mesa separada. Antes de tomar a decisão, você vai querer ler sobre paginação de arquivos SQL, divisões de página e os detalhes de "como" SQL armazena os dados.

A resposta curta é que varcharmax () pode definitivamente causar uma diminuição no desempenho onde esses comprimentos de campo mudar muito, devido a um aumento na divisão de páginas que são operações caras.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top