| Por: Gerardo M Lopez Fernandez | | 06/11/2007
|
Hola,
Solo comentar que compañeros de la oficina, se han encontrado grandes problemas de rendimiento con las selects anidadas en MySQL, por lo que recomiendo actuar con tiento.
Saludos
La utilización de Select anidados, no es aconsejable, ya que implica una mayor carga en el servidor. Recomiendo utilizar INNER JOIN o select independientes.
| Por: Erasmo Garcia Arenas | | 06/11/2007
|
Definitivamente se recomienda hacer consultas anidadas con JOIN, ya que es menos carga para el servidor, aqui te pongo un ejemplo de ventas por vendedor por marca:
SELECT
prods.marca,
vends.nombre,
ventas.vend,
partvta.articulo,
prods.descrip As `Descripción`,
FROM (((partvta LEFT JOIN ventas ON ventas.venta = partvta.venta) INNER JOIN prods ON partvta.articulo = prods.articulo) INNER JOIN marcas ON prods.marca = marcas.marca) INNER JOIN vends ON vends.vend = ventas.vend
WHERE ventas.estado = 'CO' AND (ventas.tipo_doc = 'FAC' Or ventas.tipo_doc = 'DV' Or ventas.tipo_doc = 'REM') AND ventas.cierre = 0
AND ventas.f_emision >= "ParamData.FechaInicial" AND ventas.f_emision <= "ParamData.FechaFinal" )
GROUP BY partvta.articulo
ORDER BY ventas.vend, marcas.marca, prods.descrip