Ir ao conteúdo
  • Cadastre-se
nldj

MySQL MySql COUNT com WHERE, o count é lento

Recommended Posts

select t1.id, (select count(campo) from tabela2 where id = t1.id)
from tabela1 t1
where .......

select t1.id, (select count(t2.campo) from tabela2 t2 inner join tabela1 on tabela1.id = t2.id where t2.id = t1.id)
from tabela1 t1
where .......

select t1.id, count(t2.campo)
from tabela1 t1
left join tabela t2 on t2.id = t1.id
where .......

Estou tentando dessas 3 formas e a única que roda é a segunda...mesmo assim, com muita lentidão...

 

Existe alguma outra melhor forma de montar essa query?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o tamanho do banco de dados? Quantos registros tem nele? Os dados estão indexados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltava indexar os dados.

 

Valeu pessoal!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×