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

Normalizando uma tabela extremamente grande


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.