Ir ao conteúdo
  • Cadastre-se

MySQL Em busca do melhor índice


nldj

Posts recomendados

Vejam, por favor, se conseguem me ajudar a otimizar essa query para melhorar a performance desta consulta mySql que do jeito que está, leva cerca de 90 seg para exibir o resultado.

select aa.IdArea, aa.Nome, COUNT(DISTINCT(ca.idCV )) as QtdcvAreaAtuacao 
from tblareaatuacao aa 
inner join tblcurriculoareaatuacao ca on ca.idAreaAtuacao = aa.IdArea 
inner join tblcadastro_curriculo_incompleto cv on cv.IdCV = ca.idCV 
where cv.Ativo = 'S' 
and cv.Excluido = 'N' 
and ((YEAR(CURDATE())-RIGHT(REPLACE(cv.DtNascimento, '/', ''),4) >= 16 or (datediff(YEAR(ifnull(date(cv.DataUpdate),date(cv.DataCadastro))),CURDATE()) + YEAR(CURDATE())-RIGHT(REPLACE(cv.DtNascimento, '/', ''),4)) >= 16) 
and (YEAR(CURDATE())-RIGHT(REPLACE(cv.DtNascimento, '/', ''),4) <= 97 or (datediff(YEAR(ifnull(date(cv.DataUpdate),date(cv.DataCadastro))),CURDATE()) + YEAR(CURDATE())-RIGHT(REPLACE(cv.DtNascimento, '/', ''),4)) <= 97)) 
group by aa.IdArea, aa.Nome order by aa.Nome asc;

Indexes:

tblareaatuacao.IdArea(int) - 159 row(s) returned 0.000 sec / 0.000 sec

tblcurriculoareaatuacao.idCV(char) e tblcurriculoareaatuacao.idAreaAtuacao(int) - 402183 row(s) returned 0.000 sec / 2.125 sec

tblcadastro_curriculo_incompleto.IdCV(int) - 201408 row(s) returned 0.016 sec / 19.046 sec

 

Qual seria os índices que devo criar para eu obter um desempenho melhor?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...