É mais rápido usar UMA ÚNICA table ou várias?

Enviada por Gustavo Luiz Taborda 
Gustavo Luiz Taborda
É mais rápido usar UMA ÚNICA table ou várias?
20 de February de 2003 às 05:21AM
Eu estou com um problema, na verdade uma graaaaaande dúvida. Eu tenho 2 tabelas que precisam ser relacionadas... eu necessito fazer pequisas contantemente em um certo dado, e preciso cruzar 2 tabelas. O número de registros nesta tabela crescre uns 15% por dia!!!! Então eu deverei ter mais de 500.000 registros em pouco tempo - se eu cruzar as duas tabelas nas pequisas... o MySQL compara UMA-A-UMA, certo? Então ele verificaria 500.000*500.000 = 250.000.000.000 registros (já que as tabelas tem o mesmo número de registros). Exemplo:
tabela #1 tem rows 'A', 'B', 'C'
tabela #2 têm rows 'D', 'X', 'A'
O MySQL verificaria em um cruzamento se cada uma das rows da tabela#1 é igual a TODAS as outras da tabela#2? Daí vêm a conta dos 500.000*500.000r registros pesquisados.

Eu poderia colocar todos os dados das duas tabelas em uma só tabela - aí em vez de 250 BILHÕES de registros verificados, eu teria os 500 mil apenas, sem cruzamento nenhum.

Por favor, quem tiver experiência com tabelas gigantes... por favor, me esclareça!

Muito obrigado!

Até mais, e grande site este!
Calvin
Re: É mais rápido usar UMA ÚNICA table ou várias?
20 de February de 2003 às 05:02PM
Não sei como vc está fazendo essas comparações então vou ficar quieto.


Vc já leu sobre NORMALIZATOIN / normalização de banco de dados? Acho que é literatura obrigatório sobre o assunto. Procura no google
<b>Re: É mais rápido usar UMA ÚNICA table ou várias?</b>
20 de February de 2003 às 07:41PM
<HTML>Experiência, eu e alguns outros aqui temos. Agora, quanto a saber que tipo de relação vc esta querendo é que fica difícil.

A regra geral diz que a economia de espaço e de processamento passa pela NECESSIDADE particular de cada projeto e, banco de dados parece fácil mas não é.

Por favor, detalhe mais o relacinamento que você necessita para sabermos o que você necessita e qual q melhor solução. Exemplifico: as vezes, o que para você são duas tabelas de 500 mil registros, podem virar 3 de 500 mil e ficar mais econômicas...

Especifique as relações necessárias que ajudo.

Jayr Porto</HTML>
Php Boy
Re: É mais rápido usar UMA ÚNICA table ou várias?
21 de February de 2003 às 11:41AM
Olá, vou expor casos em que relacionamentos de mais de uma tabela são importantes.

Por exemplo, teremos uma lista de alunos, queremos gravar no sistema a data de entrada na piscina de cada dia de cada aluno.

Na tabela Alunos, vamos criar 365 campos com Dia1, Dia2, e assim sucessivamente.

PAra um aluno que faça aula apenas duas vezes por semana, muitos campos alocados não serão utilizados.

Então a melhor coisa é ter a tabela alunos e a tabela entradas.

A tabela entradas terá um ID, e a data/hora de entrada, na horwa da consulta, utilize um inner join, e está feita a econimia de muitos MB.

A consulta é mais rápida usando tabelas cruzadas do que uma tabela com muitos campos, pois o "recordset" que voltará será bem maior se utilizar a maneira "robusta" de fazer tudo na mesma tabela.

Agora, se você quer ter um cadastro de alunos,

Onde uma tabela terá o nome e idade e outra cord do cabelo e altura, não há necessidade, pois todos os campos serão utilizados, acabando com a "limpeza do banco".

Procura na internet sobre Tabelas de referencia cruzada e relacionamentos.

qq coisa, mail-me,
php_boy@hotmail.com
php boy
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.