Tengo la mision de acelerar algunas consultas para que sean lo mas optimas posibles, considerando que el sitio es accesado por muchas personas persistentemente.
en algunas consultas donde tengo que entregar datos filtrando por varias tablas cambie la forma y deje solo una tabla y concatené IN en el where
me explico,
por ej tengo
select idProducto,NombreProducto from TBL_Producto,TBL_Atributos,TBL_Cotizaciones,(etc),
where
TBL_Producto.idProducto=TBL_Atributos.idProducto
and
TBL_Producto.idProducto=TBL_Cotizaciones.idProducto
and
TBLCotizacion.Estado=2
and.
TBL_Atributos.tipoatributo=1
and.
etc..etc..
lo cambie por..
select idProducto,NombreProducto from TBL_Producto
where
idproducto in (select idProducto from TBL_Atributos where tipoatributo=1)
and
idproducto in (select idProducto from TBL_Cotizaciones where Estado=2)
Esto es un ejemplo solamente para entender lo que hize... me redujo bastante el tiempo de respuesta, pero al parecer aumentó la cantidad de reads..
el comportamiento de esta consulta es = con mucha carga?? esta muy aberrante lo que estoy haciendo??
saludos
Leer las respuestas