Ver Mensaje Individual
  #2  
Antiguo 21-11-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.323
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Ubed Ver Mensaje
H...no quiero filtrar por where porque realmente yo quiero todos los registros cargados...
Realmente no entiendo la necesidad de tener 100.000 registros en memoria...
Salvo que exista una razón de "Gran peso", que no explicas, creo que es un error.

Continuando con el mensaje:
Cita:
Empezado por Ubed Ver Mensaje
...existe alguna forma de acer cargas parciales??
...alguna otra forma de que me carge rapido??
Aquí entran enjuego dos cosas:
* La SQL
* La carga en memoria.

El tiempo de SQL, poco puedes hacer si ya está todo indexado; Podrías reducir el ancho de la consulta recuperando sólo ciertos campos si te es posible (en lugar de usar SELECT * FROM ...)

Para la parte de la carga, puedes utilizar cursores Server-Side, con lo que no estrías trayendo todos los registros a memoria, sino sólo los necesarios en cada momento; Trae un bloque de registros y a medida que vas necesitando más los va recuperando.
Aviso, si al final vas a acabar obteniendolos todos (por que vas a hacer un recorrido, por ejemplo), es mejor que uses Client-Side, ya que por lo menos te los traes todos de golpe.

También dependiendo de los que necesites para los datos, puedes usar diferentes tipos de cursores que acelerarán "un poco"; ReadOnly o ForwardOnly, por ejemplo, aunque sus funcionalidades se reducen.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita