MySQL - Query muito lenta
Boa Tarde pessoal, tenho uma consulta a ser feita, mas está demorando muito, segue o corpo:
explain SELECT Contratos.Cliente As Cliente,
Clientes.Nome AS Nome,
Clientes.CNPJ_CNPF AS CPF_CNPJ,
Contratos.Plano AS Plano,
Planos.Descricao AS DescPlano,
Contratos.Inicio AS InicioContrato,
(Contratos.ValorPlano - Contratos.Desconto - Contratos.DescValor) AS TotalPromo,
Movimento.Documento AS Documento,
IFNULL(ROUND(SUM((Movimento_Itens.Valor)),2),0) AS ValorLiquido
FROM Planos USE INDEX(PRIMARY)
INNER JOIN Contratos USE INDEX(Situacao) ON Contratos.Plano = Planos.Codigo
INNER JOIN Clientes USE INDEX(PRIMARY) ON Contratos.Cliente = Clientes.Codigo
INNER JOIN MovimentoContrato USE INDEX(PRIMARY) ON MovimentoContrato.Contrato = Contratos.Numero
INNER JOIN Movimento USE INDEX(PRIMARY) ON Movimento.Sequencia = MovimentoContrato.Sequencia
INNER JOIN Movimento_Itens USE INDEX(PRIMARY) ON Movimento_Itens.Sequencia = Movimento.Sequencia
AND Movimento_Itens.Conta = Movimento.Conta
AND Movimento_Itens.Contrato = Contratos.Numero
WHERE Contratos.Situacao = 'A'
OR Contratos.Situacao = 'B'
GROUP BY Contratos.Numero, Movimento.Sequencia;
Cada tabela tem +/- 4 milhões de registros, e em todas há os index, mas não consigo fazer ficar mais rápida mesmo forçando os index, alguém pode me ajudar ?Discussão (3)
Carregando comentários...