Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/06/2008, 11:31
Edeshi
 
Fecha de Ingreso: mayo-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Optimizar una Consulta

Hola, veran, tengo una pagina en ASP la cual recibe RecordSets de consultas de SQL, tengo un problema en un par de consultas que esta corriendo de una forma muy lenta.

Sucede que tengo una tabla con un historial de inventarios de los cuales debo traer el inventario mas reciente. Lo que hago es lo siguiente:

Select * from tickets where Area like '"&A&"' and Estado like '"&E&"' and Municipio like '"&M&"' and Cadena like '"&C&"'

A,E,M y C son valores que llegan de comboboxes definidos en la pagina (con valor % por default). y tickets es la tabla que tiene la totalidad de combinaciones de Area/Estado/Municipio y Cadena. esta tabla devuelve un campo ticket que es como el ID de la combinacion

Lo ke hago es Filtrar a partir de esos datos, obtener una lista de los tickets que pertenecen a los filtros establecidos y para cada uno localizar el valor mas reciente:

SELECT TOP 1 * FROM Inventarios WHERE id_consecutivo like '"&ticket&"' and Producto like '"&Producto&"' and milimetraje like '"&Milimetraje&"' and presentacion like '"&Presentacion&"' and Fecha BETWEEN '"&Fecha1&"' and '"&Fecha2&"' ORDER BY Producto, milimetraje, Presentacion, fecha DESC")

Con el Fecha DESC obtengo el valor mas reciente y es el que mando a imprimir, pero el problema de esto es que este metodo llega a ser muy tardado ya que ejecuta una consulta por cada valor que me devuelve la tabla de tickets, que a veces puede devolver demasiados valores.

Espero puedan ayudarme con esto, muchas gracias