Mysql: consulta lenta
Enviado: 23 Abr 2021 01:09
Pessoal, tenho recebido do meu provedor um relatório de consultas lentas em meu banco de dados.
A consulta que está gerando esse relatório é a seguinte:
Gostaria de saber se alguém conseguiria me ajudar para tornar essa consulta mais rápida.
A ideia deste select é pegar na tabela acoes os códigos dos registros que tenham marca=V e hrvisto#91234 e que não tenham tido nenhum registro nos últimos minutos.
A tabela acoes tem 945.634 registros e está com índice no campo codigo.
Não sei se estou fazendo algo errado, essa foi a melhor forma que consegui de fazer o select.
Detalhe: essa consulta é feita centenas de vezes por dia no meu sistema. Se ela está gerando consultas lentas, isso realmente será problema no provedor.
Alguém pode me ajudar?
A consulta que está gerando esse relatório é a seguinte:
Código: Selecionar todos
select codigo from acoes e where marca='V' and hrvisto<>91234 and e.codigo not IN (select codigo from acoes f where compvenda=0 and dtcotacao='2021-04-22' and (substr(hrcotacao,1,2)*3600)+(substr(hrcotacao,4,2)*60)>= 38903.25 group by codigo) group by codigo order by marca DESC, max(dtcotacao)A ideia deste select é pegar na tabela acoes os códigos dos registros que tenham marca=V e hrvisto#91234 e que não tenham tido nenhum registro nos últimos minutos.
A tabela acoes tem 945.634 registros e está com índice no campo codigo.
Não sei se estou fazendo algo errado, essa foi a melhor forma que consegui de fazer o select.
Detalhe: essa consulta é feita centenas de vezes por dia no meu sistema. Se ela está gerando consultas lentas, isso realmente será problema no provedor.
Alguém pode me ajudar?