Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2018, 05:29
mikil
 
Fecha de Ingreso: agosto-2002
Ubicación: Lleida
Mensajes: 506
Antigüedad: 22 años, 2 meses
Puntos: 0
aumentar rendimiento de una consulta

como puedo aumentar el rendimiento de la siguiente consulta:

Código SQL:
Ver original
  1. (
  2. SELECT tdaVta,
  3.     CASE encargopralVta
  4.           WHEN 'S' THEN '1'  
  5.           WHEN 'N' THEN '2'  
  6.         END AS encargoPral ,
  7.     COUNT(*) AS numven, SUM(impnetoVta) AS impnet, SUM(impdtoVta) AS impdto, avg(impnetoVta) AS avgnet, avg(impdtoVta) AS avgdto
  8. FROM encargos
  9. WHERE YEAR(fechaVta) BETWEEN '$limany1' AND '$limany2' AND anuladaVta <>'S' AND promocionVta=$limpro1 AND impnetoVta > 0
  10. GROUP BY tdaVta, encargopral
  11. ORDER BY tdaVta, encargopral
  12. )
  13. UNION ALL                      
  14. (
  15. SELECT tdaVta, '3' AS encargopral, COUNT(*) AS numven, SUM(impnetoVta) AS impnet, SUM(impdtoVta) AS impdto, avg(impnetoVta) AS avgnet, avg(impdtoVta) AS avgdto
  16. FROM encargos
  17. WHERE
  18. YEAR(fechaVta) BETWEEN '$limany1' AND '$limany2' AND anuladaVta <>'S' AND promocionVta =$limpro1  AND impnetoVta=0
  19. GROUP BY tdaVta, encargopral
  20. ORDER BY tdaVta, encargopral )
  21.    
  22. ORDER BY  tdaVta, encargopral

funciona correctamente pero tarda 45 segundos en ejecutarse.


la tabla encargos tiene definidos los indices

Código SQL:
Ver original
  1. PRIMARY KEY (`clienteVta`, `numVta`),
  2.     UNIQUE INDEX `encarrec` (`tdaVta`, `encargoVta`),
  3.     INDEX `fechamontageTaller` (`fechamontageTaller`),
  4.     INDEX `fechapedidoTaller_horapedidoTaller` (`fechapedidoTaller`, `horapedidoTaller`),
  5.     INDEX `fechaVta` (`fechaVta`),
  6.     INDEX `monturaVta` (`monturaVta`),
  7.     INDEX `Pareja` (`tdaVta`, `parejaVta`),
  8.     INDEX `vendedorVta` (`vendedorVta`)

creo que si genero un indice en la tabla ganaria rendimiento pero no se como hacer que la busqueda sea por ese indice.

Última edición por gnzsoloyo; 30/07/2018 a las 09:39 Razón: Etiquetar correctamente con el HIGHLIGHT correspondiente a SQL, por favor...