Você encontrará outros benefícios em normalizar os dados além da velocidade das consultas executadas nele...
No entanto, provavelmente também melhorará a velocidade das consultas; atualmente, ter uma única linha contendo 300 colunas de texto é enorme e quase certamente ultrapassa o Limite de 8.060 bytes para armazenar a página de dados de linha ... e está sendo armazenado no
ROW_OVERFLOW_DATA
ou LOB_DATA
Unidades de Alocação. Ao reduzir o tamanho de cada linha por meio da normalização, como substituir dados de texto redundantes por um
TINYINT
chave estrangeira e também removendo as colunas que não dependem da chave primária dessa tabela grande para outra tabela, os dados não devem mais transbordar e você também poderá armazenar mais linhas por página. Quanto à sobrecarga adicionada ao executar
JOIN
para obter os dados normalizados... se você indexar corretamente suas tabelas, isso não deve adicionar uma quantidade substancial de sobrecarga. No entanto, se ele adicionar uma sobrecarga inaceitável, você poderá desnormalizar seletivamente os dados conforme necessário.