Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mais eficiente ter mais colunas ou mais linhas?


Basicamente, o mysql tem um comprimento de linha variável, desde que não seja alterado por nível de tabela. Assim, colunas vazias não usarão nenhum espaço (bem, quase).

Mas com blobs ou colunas de texto, pode ser melhor normalizá-los, pois eles podem ter grandes dados para armazenar e isso precisa ser lido/ignorado toda vez que uma tabela for verificada. Mesmo se a coluna não estiver no conjunto de resultados e você estiver fazendo consultas fora de um índice, levará tempo em uma grande quantidade de linhas.

Como uma boa prática, acho que será rápido colocar todos os cols administrativos e frequentemente usados ​​em uma tabela e normalizar todo o resto. Um tipo de design "vertical", como no seu segundo exemplo, será complexo de ler e, assim que você trabalhar com tabelas temporárias, terá problemas de desempenho mais cedo ou mais tarde.