Temos uma grande tabela que registra Pedido e Resposta, e captura outros dados relacionados a esse pedido. Estamos procurando melhorar o desempenho. Uma das sugestões é mover essas colunas maiores (solicitação e resposta) para tabelas separadas para que sejam acessadas somente quando realmente precisarem ser lidas e não sempre que um registro estiver sendo consultado.
Mover colunas grandes para uma tabela separada provavelmente resultará em uma melhoria de desempenho significativa?
É possível que esses tipos de string grandes não sejam mantidos ao lado das outras colunas atualmente. Veja aqui . Em vez disso, um ponteiro de encaminhamento é mantido e desreferenciado conforme necessário.
Ainda pode valer a pena dividir as colunas, no entanto, se
select *
1 ; os campos grandes não serão retirados do discoPor outro lado, se os valores não forem muito longos (digamos, algumas centenas de bytes) e acessados na maioria das consultas, você poderá ver uma melhoria no desempenho armazenando-os em linha e evitando a pesquisa de ponteiro e o IO secundário. Isso pode ser controlado por sp_tableoption .
1 Não que você jamais o faria, é claro.