Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pedra de gelo

Desempenho com múltiplos Joins

Recommended Posts

Olá Pessoal,

Eu tenho que fazer um projeto aqui sobre confederações e campeonatos de futebol

fictícios e tenho receio de gerar problema quando chegar no nível físico.

 

Pois bem, eu tenho as seguinte tabelas principais:

 

Tabela 1: Confederações

Tabela 2: Ligas

Tabela 3: Times

 

Como um time é associado a alguma associação para ser associado a uma liga,

aí eu tenho as tabelas secundárias:

 

Tabela 4: Afiliação do Time à Confederação

Tabela 5: Afiliação do Time à Liga da Confederação

Tabela 6: Criação de uma Fase de Grupos para a Liga

Tabela 7: Criação dos Grupos na Fase de Grupos

Tabela 8: Afiliação do Time Afiliado à Fase de Grupos da Liga

Tabela 9: Afiliação de um Time Afiliado à Fase de Grupos em um Grupo na Fases de Grupos

Tabela 10: Jogos dos Grupos da Fases de Grupos

 

Então o time vai passar por várias afiliações até chegar nos jogos:

Tabela 3: IdTime

Tabela 4: IdTimeAfiliacaoEmConfederacao - recebe IdTime

Tabela 5: IdTimeAfiliacaoEmLigaDaConfederacao - recebe IdTimeAfiliacaoEmConfederacao

Tabela 8: IdTimeAfiliacaoEmEstagioDeLigaDaConfederacao - recebe IdTimeAfiliacaoEmLigaDaConfederacao

Tabela 9: IdTimeAfiliacaoEmGrupoDeEstagioDeLigaDaConfederacao - recebe IdTimeAfiliacaoEmEstagioDeLigaDaConfederacao

Tabela 10: recebe 2x IdTimeAfiliacaoEmGrupoDeEstagioDeLigaDaConfederacao, pq um jogo é entre 2 times.

 

Concluindo: eu terei que acessar 6 tabelas (10,9,8,5,4 e 3) até chegar no nome do time, com Left Join ou similar (ainda não sei ao certo).

Vocês concorda com esse modelo?

Ele terá desempenho fraco em se tratando de muitos dados?

Vocês fariam de outra maneira?

Eu viajei na maionese????

 

Grato,

Cláudio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sobre a modelagem, depende do escopo do problema.

 

Uma coisa importante são as perguntas que você precisa fazer para obter as respostas adequadas, outro detalhe é que você não precisa ter todas as respostas em um comando apenas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sobre a modelagem, depende do escopo do problema.

 

Uma coisa importante são as perguntas que você precisa fazer para obter as respostas adequadas, outro detalhe é que você não precisa ter todas as respostas em um comando apenas.

 

Mas então é normal e aceitável ter vários relacionamentos do tipo n:n entre si...??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o seu modelo exige esta quantidade de tabelas para resolver a questão, utilize. Como, aparentemente, a principal informação são os times, você pode levar o IdTime sempre que possível para facilitar e agilizar a recuperação da informação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.