Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

consulta muy pesada y optimizarla

Estas en el tema de consulta muy pesada y optimizarla en el foro de Mysql en Foros del Web. Hola muy buenas a todos, Con vuestra gran ayuda, como me podríais ayudar a optimizar esta consulta???? Me encuentro que es muy lenta por el ...
  #1 (permalink)  
Antiguo 06/03/2017, 06:04
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
consulta muy pesada y optimizarla

Hola muy buenas a todos,

Con vuestra gran ayuda, como me podríais ayudar a optimizar esta consulta????
Me encuentro que es muy lenta por el GROUP BY

SELECT
`articulos`.`id`,
`articulos`.`ref`,
`articulos`.`titulo_1`,
`articulos`.`id_iva`,
`articulos`.`precio1` `articulo_precio1`,
`articulos`.`create_user`,
`articulos`.`create_tienda`,

`stock`.`id_almacen`,

`almacenes`.`id` `id_almacen`,
`almacenes`.`codigo`,
`almacenes`.`nombre`,

`iva`.`iva`,

`precio_fijo`,

(
SELECT
(
SUM(IF (`stock`.`salidas` = 0, `stock`.`entradas` , 0)) - SUM(`stock`.`salidas`)
)

FROM
`stock`

WHERE
`stock`.`id_articulo` = `articulos`.`id` &&
`stock`.`id_almacen` = `almacenes`.`id`

) `FINAL`,
(
SELECT
ROUND(`stock`.`precio1`,2)

FROM
`stock`

WHERE
`stock`.`id_articulo` = `articulos`.`id` &&
`stock`.`id_almacen` = `almacenes`.`id` &&
`stock`.`concepto` = 'EuroWin'

LIMIT 1
) `precio1`


FROM
`stock`

INNER JOIN `articulos` ON
`articulos`.`id` = `stock`.`id_articulo`

INNER JOIN `almacenes` ON
`almacenes`.`id` = `stock`.`id_almacen`

LEFT JOIN `iva` ON
`iva`.`id` = `id_iva`

LEFT JOIN `articulos_preciofijo` ON
`articulos_preciofijo`.`id_articulos` = `stock`.`id_articulo` &&
`articulos_preciofijo`.`id_tienda` = '1

WHERE `articulos`.`eliminado` = 'no'

GROUP BY `articulos`.`ref`, `almacenes`.`id` '



Resultado::::::::::::::::
Código HTML:
Id 	          Titulo 	                                                                                                             Ref 	Código 	Detalle 	Cantidad 	Tarifa IVA inc. 	PVP WEB 	P.FIJO 	RDO 	
208417  	  PORTATIL ASUS A540SA-XX029D. CELERON N3050 15.6 	        4712900265040 	 17 	        almacen1 	  0.00  	  0.00€  	  0.00€  	  ---  	          ---   	
206294  	  PORTATIL LENOVO B50-10 INTEL CELERON N2840 15.6 	          889800079054 	 17 	        almacen2 	  0.00  	  0.00€  	  0.00€  	  ---  	          ---   	
184062  	  Bolsa transporte Hamann para escalera telescopica hasta 1 m. 	 0000-04000009 	 31 	        almacen1 	  0.00  	  0.00€  	  0.00€  	  ---  	          ---
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #2 (permalink)  
Antiguo 06/03/2017, 15:34
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: consulta muy pesada y optimizarla

Hola syntex:

Antes de poder decirte cómo optimizar la consulta deberías de comenzar por decirnos qué es lo que hace porque eso sólo Dios y tú lo saben...

Comienza por decirnos cuál es la estructura de cada una de tus tablas y pon algunos datos de ejemplo y a partir de esos datos de ejemplo dinos qué es lo que esperas obtener como salida. Se muy probable que exista alguna otra forma de obtener el mismo resultado pero sin utilizar subconsultas, que son muy tardadas.

Saludos
Leo.

Etiquetas: select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:09.