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

Hola muy buenas,

Como optimizaríais esta consulta que no sea tan lenta?

Código SQL:
Ver original
  1. SELECT
  2.                     DISTINCT (`stock`.`id_almacen`),
  3.                     `articulos`.`id`,
  4.                     `articulos`.`ref`,
  5.                     `articulos`.`titulo_1`,
  6.                     `articulos`.`id_iva`,
  7.                     `almacenes`.`id` `id_almacen`,
  8.                     `almacenes`.`codigo`,
  9.                     `almacenes`.`nombre`,
  10.                     (SELECT (SUM(`entradas`)-SUM(`salidas`)) FROM `stock` `st` WHERE (`st`.`id_articulo` = `articulos`.`id` && `st`.`id_almacen` = `almacenes`.`id`)) `FINAL`,
  11.                     (SELECT ROUND(`st`.`precio1`,2) FROM `stock` `st` WHERE (`st`.`id_articulo` = `articulos`.`id` && `st`.`id_almacen` = `almacenes`.`id` && `st`.`concepto` = 'EuroWin') LIMIT 1) `precio1`,
  12.                     `articulos`.`precio1` `articulo_precio1`,
  13.                     `articulos`.`create_user`,
  14.                     `articulos`.`create_tienda`,
  15.                     `iva`.`iva`,
  16.                     `precio_fijo`
  17.                 FROM
  18.                     `stock`
  19.                 INNER JOIN `articulos` ON `stock`.`id_articulo` = `articulos`.`id`
  20.                 INNER JOIN `almacenes` ON `stock`.`id_almacen` = `almacenes`.`id`
  21.                 INNER JOIN `iva` ON iva.id = id_iva
  22.                 LEFT JOIN `articulos_preciofijo` ON `stock`.`id_articulo` = `articulos_preciofijo`.`id_articulos`
Lo que e marcado en negro es lo que creo que no es correcto.

Mostrando registros 0 - 29 ( 23,958 total, La consulta tardó 0.0102 seg)

Pero e comprobado que el sql a tardado 5 segundos, me podeis ayudar?

Muchísimas gracias.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------


Última edición por gnzsoloyo; 19/12/2013 a las 04:34 Razón: Usar Highlights, por favor. Los resaltados en un codigo SQL se hacen por medio de comments, no de negritas.