Ir para conteúdo

Arquivado

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

ohlele

Performance

Recommended Posts

Olá pessoal.

 

Tendo um banco de dados com 1.000.000 de registros qual a melhor performance para mostrar endereços.

OBS: Usando sistema web com php.

 

1) Mantendo uma tabela com os registros principais e um id para endereço vinculando os dados do endereço na tabela de endereços.

Ou seja tenho que fazer um select usando inner join para pegar os dados da tabela principal e do endereço.

Ou seja, usando a consulta nas duas tabelas.

 

2) Mantendo as mesmas duas tabelas (principal e endereço), mas gravando o endereço completo na tabela principal.

Ou seja, tenho que fazer um select que busque em apenas uma tabela.

O endereço já vai estar gravado para ser mostrado.

E mantenho a tabela de endereço apenas para cadastro e edição.

 

 

Entenderam?

Qual a melhor forma visto que é apenas para mostrar os dados na tela.

Qual a mais rápida e melhor?

 

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi completamente.

 

Você tem uma tabela com 1.000.000 de registros, cadas registro pode haver um endereço, certo? Acredito que um INDEX FULL-TEXT pode ser interessante neste caso.

 

Não sou expert, gostaria que alguém complementasse meu ponto de vista, dizendo se está correto ou se não é uma boa prática.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O SELECT com INNER JOIN será extremamente rápido, pois o ID indexado conseguirá relacionar os dados de forma bastante eficaz.

 

Esta é a forma mais indicada, pois vc está respeitando a normalização dos dados.

 

 

Creio que só compensa desnormalizar depois que um problema real for notado. Um milhão de dados não é alto espantoso para o MySQL não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procure também manter as estatíscas de Banco atualizadas , não me parece um caso wue justifique uma desnomalizaçã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.