Ir para conteúdo

POWERED BY:

Arquivado

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

JoaoRodarte

Dados demais, demora demais

Recommended Posts

Bom dia amigos, primeiramente gostaria de agradecer a atenção de todos de terem aberto meu tópico.

 

Estou com um problema muito grande aqui no escritório, e se alguém pudesse me ajudar, nem que seja com uma idéia qualquer eu iria agradescer muito!

 

Eu participo da equipe de desenvolvimento do jogo http://www.olemania.com.br/ e uma das telas do jogo precisa de um volume muito grande de informações, e este volume vem do cruzamento de 4 tabelas que, por sua vez, são muito extenças. Isso causa uma demora enorme pro usuário, que quando clica na tela, tem que ficar um tempão esperando pra ver as informações de forma organizada.

 

Então eu tive uma idéia! Pensei em carregar os dados do Banco de Dados em um arquivo XML, e pensei em fazer com que essa tela lê-se o arquivo XML ao invés de acessar os dados do Banco. Porém, o arquivo texto XML seria, ainda assim, muito extenço e sua leitura poderia demorar um bocado.

 

Alguém tem alguma idéia de como acessar informações do Banco de Dados de forma mais eficiente do que fazendo uma consulta direta? Os dados não precisam, necessariamente, estar atualizados. Eles podem ter sido gravados em um outro momento.

 

Por favor, qualquer tipo de solução, luz, ajuda, referência, fonte, link, etc ajuda. Agradeço desde já.

 

João Rodarte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não ficou muito claro para mim se cada usuário precisa de um volume muito grande de informações ou é apenas a tabela que tem este volume.

 

Se o usuário precisa de poucas informações a criação de índices pode resolver o problema da leitura.

Do contrário uma solução poderia ser manter estas informações em memória com uma boa indexão em memória para tornar rápida a leitura.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todo mundo que entra no Jogo tem acesso a uma tela que mostra um ranking com os maiores artilheiros do jogo. Essa consulta demora muito tempo, porque é um JOIN de 4 tabelas diferentes e as 4 são muito grandes. Ficou mais cláro agora?

 

 

Eu nunca conseguí entender bem o conceito dos índices. Como eles funcionam? Os exemplo que encontrei na internet não são muito bons.

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Indexes are used to find rows with specific column values quickly. Without an index, MySQL must begin with the first row and then read through the entire table to find the relevant rows. The larger the table, the more this costs. If the table has an index for the columns in question, MySQL can quickly determine the position to seek to in the middle of the data file without having to look at all the data."

 

Os IDs das tabelas podem ser considerados indexes? Ou mesmo perguntando "... WHERE ID = ?" o MySQL percorrerá a tabela inteira até encontrar o ID especificado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende de como a tabela foi definida, se for uma PK (Primary Key) sim será um índice.

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.