Ver Mensaje Individual
  #5  
Antiguo 05-11-2007
AFilth AFilth is offline
Miembro
 
Registrado: ago 2005
Posts: 119
Reputación: 19
AFilth Va por buen camino
Hola Lepe, gracias por la respuesta.

En la aplicación existe una variable de configuración que lleva el número de registros mostrados en el grid, así que no es algo que suela pasar, ya que está puesta a 400 o 500 normalmente, pero si por ejemplo se filtra y se deja todo vacío saca 4000 registros y es en ese momento cuando tarda.

La primera vez que se hace la query y se muestra el grid es casi inmediato. Luego cuando se empieza a filtrar o se vuelve de la pantalla de altas/modificaciones, es cuando va pintando los registros en el grid de uno en uno (a toda velocidad) pero al ser los 4000 o 5000 tarda bastante.

La base de datos está en sqlserver 2000 y las tablas tienen su PK y sus FK definidas correctamente.

Cuando me dices lo de crear índices por campos de búsqueda, creo que en este caso no ayudaría mucho no? ya que siempre se está buscando (haciendo las join) por pk o fk y el resto de los campos q se sacan no aportarían nada teniendo índices no?

En cuanto a las preguntas de:
¿realmente necesito esos miles de registros en el Grid?
¿realmente le ayuda al usuario ver un grid con miles de registros para localizar el registro que él quiere?

tienes toda la razón, no es para nada necesario, de hecho con visualizar el que van a modificar en el grid o los últimos cuando están haciendo altas valdría, pero a veces los usuarios filtran y sacan miles de registros (unos pocos ) y es ahí cuando a la vuelta de modificar el registro tienen el problema (que por otra parte se han buscado ellos solitos). No obstante, y dado que eso no lo podemos controlar, quería ver si había una forma muy sencilla de engañar a los TQuerys de Delphi tratándolos como datasets normales en los q poder escribir pero ya veo q mis sospechas se confirman

Muchas gracias de todas formas!

Un saludo.
Responder Con Cita