MySQL Forums
Forum List  »  Portuguese

Query very slow
Posted by: apsojosdai avdisa
Date: April 28, 2021 11:04AM

Boa tarde,
tenho uma query que está demorando muito a rodar. Obs: se eu colocar qualquer outro prestador ela executa rápido.

Outro detalhe é que se eu colocar um limit ele me retorna os registros, no caso eu coloquei LIMIT 1000 mas ele me retorna 243 linhas.

Rodei um explain ele está pegando indice para todos os INNERS.

select fpp.chave, fpp.cd_parcela, fpp.efetivado as efetivado, fpp.dt_vencimento as data, fpp.tipo_comissao as tcomissao, fpp.historico, fpp.valor_parcela, '' as chave_op, '' as num_parcela, fpp.valor_credito,
'' as valor_credito_pg, c.boleto, '' as situacao_op, 'Intervenção' as tipo_comissao, '' as num_parcelas, fpp.observacoes, fpp.cd_prestador, fpp.cd_intervencao, i.nm_intervencao, p.nm_paciente, p.sobrenome,
ot.dtinicio as tratamento, fpp.valor_debito, oi.receber_paciente, oi.regiao,
fpp.comissao, fpp.vlintervencao, fpp.abatimentos, oi.dtfinalizacao,
ot.chave as chave_tratamento, ot.tipo_tratamento, fin.cd_carne, fpp.dt_baixa as dt_baixa,
'' as cd_parcela_destino, tt.nm_tipo_tratamento, fpp.taxa_forma_pagamento,
fpp.taxa_forma_pagamento_valor, c.tipo as tipo_convenio, '' as chave_financeiro_convenio,
'' as cd_financeiro_clinica, fpp.dt_baixa as dtPagamento, c.conv_dentalvidas_100_perc,
fin.chave as chaveFinanceiro, oi.chave as chaveIntervencao, fpp.id_split,
0 as comissao_parcelada_tef, fpp.intervencao_paga_com_split,
date_format(fpp.dh_estorno_comissao_split, '%d/%m/%Y %H:%i:%s') as dh_estorno_comissao_split,
ot.manutencao
from tbl_financeiro_prestador_parcelas fpp
inner join tbl_odonto_intervencoes oi on (fpp.cd_intervencao = oi.chave)
inner join tbl_odonto_tratamento ot on (oi.cd_tratamento = ot.chave)
inner join tbl_convenio c on (ot.cd_convenio = c.chave)
inner join tbl_financeiro_paciente as fin on ot.chave = fin.cd_tratamento
inner join tbl_paciente p on (ot.cd_paciente = p.chave)
INNER join tbl_intervencao i on (oi.cd_intervencao = i.chave)
INNER join tbl_tipo_tratamento tt on (ot.tipo_tratamento = tt.chave)
LEFT JOIN tbl_odonto_parcelas as op on (ot.chave = op.cd_tratamento and fpp.cd_prestador = op.cd_prestador and op.situacao = 'P'
and op.carne = 'N' and op.valor_comissao > 0 and op.cd_prestador = 'L00500020130206100501'
and oi.chave = op.cd_intervencao)
where 1=1 and (fpp.tipo_comissao = 'C') and fpp.cd_prestador = 'L00500020130206100501'
and fpp.cd_filial = '005' AND (c.tipo = 'P' OR c.tipo = 'C') and oi.dtfinalizacao >= '2021-03-29'
AND oi.dtfinalizacao <= '2021-04-28 23:59:59' AND op.chave is null
and tt.grupo_tratamento in ('L00400020151222173435') AND c.boleto <> 'S'
AND (fpp.intervencao_paga_com_split = 0
OR
(ot.manutencao = 'S' AND fpp.intervencao_paga_com_split = 1
AND fpp.dh_estorno_comissao_split IS NULL
)
)
group by fpp.cd_intervencao LIMIT 1000;

Options: ReplyQuote


Subject
Views
Written By
Posted
Query very slow
599
April 28, 2021 11:04AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.