Ver Mensaje Individual
  #7 (permalink)  
Antiguo 19/12/2013, 11:17
Avatar de syntex
syntex
 
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: Optimizar consulta

Una cosa veo que la consulta es un poco lenta:

E realizado explain:

Código MySQL:
Ver original
  1. EXPLAIN SELECT `articulos`.`id` , `articulos`.`ref` , `articulos`.`titulo_1` , `articulos`.`id_iva` , `almacenes`.`id` `id_almacen` , `almacenes`.`codigo` , `almacenes`.`nombre` , ROUND( SUM( `entradas` ) - SUM( `salidas` ) , 0 ) `FINAL` , IF( `stock`.`concepto` = 'EuroWin', ROUND( `stock`.`precio1` , 2 ) , '' ) `precio1` , `articulos`.`precio1` `articulo_precio1` , `articulos`.`create_user` , `articulos`.`create_tienda` , `iva`.`iva` , `precio_fijo` FROM `stock` INNER JOIN `articulos` ON `stock`.`id_articulo` = `articulos`.`id` INNER JOIN `almacenes` ON `stock`.`id_almacen` = `almacenes`.`id` INNER JOIN `iva` ON iva.id = id_iva LEFT JOIN `articulos_preciofijo` ON `stock`.`id_articulo` = `articulos_preciofijo`.`id_articulos` GROUP BY `stock`.`id_almacen` ;

Y me indica esto:
Código HTML:
Ver original
  1. Filas: 5
  2. id  select_type     table   type    possible_keys   key     key_len     ref     rows    Extra
  3. 1   SIMPLE  stock   ALL     stock1,stock2,stock3,stock6     NULL    NULL    NULL    27511   Using temporary; Using filesort
  4. 1   SIMPLE  almacenes   eq_ref  PRIMARY     PRIMARY     4   stock.id_almacen    1  
  5. 1   SIMPLE  articulos_preciofijo    ref     articulos_preciofijo1   articulos_preciofijo1   5   stock.id_articulo   1  
  6. 1   SIMPLE  articulos   eq_ref  PRIMARY,fk_iva_articulos,class_visitasweb3,class_v...   PRIMARY     4   stock.id_articulo   1   Using where
  7. 1   SIMPLE  iva     eq_ref  PRIMARY     PRIMARY     4   articulos.id_iva    1   Using where
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------