Ver Mensaje Individual
  #1  
Antiguo 18-02-2004
taote taote is offline
Miembro
 
Registrado: feb 2004
Posts: 23
Reputación: 0
taote Va por buen camino
Question ORDER BY y PacketRecords

Hola a todos:

Estoy haciendo pruebas con una base de datos en Firebird. El caso es que tengo una consulta sobre 6 tablas que devuelve 90000 registros. Estoy utilizando DBExpress con proveedores y clientdatasets. En el ClientDataSet tengo activo FetchOnDemand y en PacketRecords pongo el valor de 100.

La consulta tarda muy poco en realizarse y tambien muy poco en devolverme los 100 primeros registros, si voy avanzando pues bien tarda muy poco en ir trayendo los registros, y si voy hasta el final de golpe si tarda supongo que al traer todos los registros.

El problema esta en cuando incluyo un ORDER BY por uno de los campos de una tabla que además es clave primaria de esa tabla, entonces la consulta tarda mucho mas de un minuto y medio en traer los 100 primeros registros, supongo que lo que hace es ejecutar la consulta, ordenar los 90000 registros y devolver las 100 primeras filas y por eso tarda, al ordenar.

Lo he intentado con una vista y el comportamiento es similar. Entonces, si yo necesito tenerlos ordenados, ¿hay alguna manera de hacer esto y que no tarde tanto?.

Gracias de antemano.
Responder Con Cita