Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
nldj

Em busca do melhor índice

Recommended Posts

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?

Obrigado,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
Entre para seguir isso  

×
×
  • Criar Novo...