Jump to content


Luiz Otávio

Member Since 17/05/2010
Offline Last Active 07/10/2011, 02:20
-----

Posts I've Made

In Topic: Velocidade Da Consulta Mysql Em Duas Tabelas

06/10/2011, 22:32

Entendi, vou testar aqui e volto para dizer o resultado.

Grato amigo!

Usar um INNER JOIN deve melhorar a situação. E também não tem necessidade de GROUP BY aí.

SELECT tabela_clientes.nome,
tabela_clientes.cpf_cnpj,
tabela_clientes.endereco,
tabela_clientes.telefone,
tabela_clientes.codigo_cliente,
tabela_geracao.valor_mensalidade
FROM tabela_clientes
INNER JOIN tabela_geracao
ON tabela_clientes.codigo_cliente = tabela_geracao.codigo_cliente
WHERE tabela_geracao.codigo_cliente LIKE '%$data%'
AND tabela_geracao.bloqueado = 0
ORDER BY tabela_clientes.nome ASC

Quando se relaciona as tabelas da maneira que você fez, primeiro o MySQL vai fazer todas as combinações possíveis entre os registros e depois filtrar. Supondo que tabela_clientes tenha X registros e tabela_geracao tenha Y registros, primeiro ele monta X*Y registros e depois filtra pelo código. Usando o JOIN, na hora de relacionar os registros ele já filtra. Aí melhora o desempenho.


Era isso mesmo, muito obrigado!

IPB Skin By Virteq