Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-11-2007
Ubed Ubed is offline
Miembro
 
Registrado: ago 2007
Posts: 71
Poder: 17
Ubed Va por buen camino
Cargar datos en dataset

Hola amigos, volvemos yo y mi tabla de 10000 registros, mi problema es que se me hace muy lenta la carga de todos los registros, no quiero filtrar por where porque realmente yo quiero todos los registros cargados pero existe alguna forma de acer cargas parciales??

es decir, que me carge los primeros, cuando buske cargo los 20 siguientes al codigo que le paso o algo asi, si no alguna otra forma de que me carge rapido??

aviso ya, todo esta indexado.

muchas gracias
Responder Con Cita
  #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.267
Poder: 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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar el contenido de un DataSet a otro DataSet Javi2 Varios 82 22-11-2022 09:26:16
Crear base de datos y cargar datos desde delphi Albano MySQL 4 17-05-2007 20:01:18
Cargar TreeView con DataSet Mauro.NET Conexión con bases de datos 1 25-09-2006 15:57:32
Extraer datos de un dataset? Durbed Conexión con bases de datos 5 01-10-2004 16:40:30
Error al cargar datos Humberto Pertuz Conexión con bases de datos 2 04-11-2003 21:49:24


La franja horaria es GMT +2. Ahora son las 09:13:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi