Original post: http://anothermysqldba.blogspot.com/2013/06/piviot-table-or-no-pivot-table.html
Este tópico recentemente surgiu no forums.mysql.com site.
A opinião expressa é que tabelas dinâmicas são muito difíceis de
dimensionar e manter valeria a pena um redesenho do esquema, em vez de
uma tabela dinâmica. Esta é uma opinião válida com pontos válidos.
Eu gostaria de adicionar o tópico aqui para ajudar a expressar o meu ponto de vista e tê-lo disponível para os outros.
Tudo depende dos dados que estão sendo coletados sobre se você deve usar uma tabela dinâmica ou não. O exemplo dado em um post anterior por mim foi apenas um exemplo de como eles funcionam.
Se você está coletando informações do usuário conhecido (primeiro e
último nome, informações de endereço, telefone), então sim uma tabela
dinâmica é mais complicado do que o que você precisa.
Se você só tem alguns pontos de dados para amarrá-los para fora dessa
informação essencial, então sim, outra mesa é uma solução e amarrado com
uma junção simples.
O conceito de tabela dinâmica é válida quando é para valores dinâmicos de dados por entidade você está coletando.
Você pode precisar de 10 pontos de dados de 100 usuários. Você pode precisar de 500 pontos de dados sobre os próximos 100 usuários. Pode o esquema manipulá-lo facilmente?
O exemplo dado no post anterior eu concordo não necessita de uma tabela dinâmica. Mas eu usei apenas o conceito que me foi dada no fórum para responder a pergunta.
Idealmente, você pode usar as duas soluções no seu esquema. Pontos de dados centrais, manter-se em colunas. Os dados dinâmicos manter em mesas de articulação.
Se for construído corretamente é muito escalável, os bilhões e bilhões
de dados que eu armazenados na tabela dinâmica provou isso para me
facilmente. Isso não quer dizer que não iria exigir algum trabalho.
Você pode muito bem achar que criar algumas visões ou tabelas resumo
que olhar para a tabela dinâmica seria mais fácil para os outros para
coletar dados. Isso levanta a questão, então por que não foi os dados armazenados dessa forma, em primeiro lugar? Mais uma vez, depende da natureza dinâmica dos seus dados e aplicativos que usa os dados.