Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-03-2004
rogeriobeltran rogeriobeltran is offline
Miembro
 
Registrado: dic 2003
Ubicación: Bucaramanga-Santander-Colombia
Posts: 49
Poder: 0
rogeriobeltran Va por buen camino
Problemas con Consultas

Buenas a Todos.

Mi inconcveniente consiste en que tengo una tabla de mas de cuatro millones de registros, realizao una consulta de donde extraigo 4000 registro con 12 campos, despues que visualizo la consulta el sistema se vuelve lento, quisiera saber si hay una forma de suavisarla. Trabajo con interbase y Delphi.

Gracias de antemano.

Orlando
Responder Con Cita
  #2  
Antiguo 18-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cuando hayas terminado de visualizar la consulta, cierrala para recuperar la memória dedicada a mantener esos registros. Con eso el sistema debería volver a la normalidad.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 30-03-2004
Avatar de PepeLolo
PepeLolo PepeLolo is offline
Miembro
 
Registrado: jun 2003
Ubicación: Fuenlabrada - Madrid - Espagna
Posts: 265
Poder: 21
PepeLolo Va por buen camino
Cita:
Empezado por rogeriobeltran
Buenas a Todos.

Mi inconcveniente consiste en que tengo una tabla de mas de cuatro millones de registros, realizao una consulta de donde extraigo 4000 registro con 12 campos, despues que visualizo la consulta el sistema se vuelve lento, quisiera saber si hay una forma de suavisarla. Trabajo con interbase y Delphi.
Que barbaridad. Eso son muchismos registros, esa consulta no tiene sentido, para que obtener 4000 registros. Eso que utilidad tiene en un usuario. No sirve para nada. A no ser que estes lanzando una consulta para esplotación de información, Tipo listado, estadisticas, etc.

Yo modificaria la consulta para que esta no devuelva más de 200 registros por consulta. Obligando al usuario a que concrete más la consulta. Creo recordar que Firebird en su última versión, permite indicar en la Select cuantos registros quieres que devuelva.

Saludos
__________________
PepeLolo
El hombre el único virus que mide más de unas cuantas micras
Responder Con Cita
  #4  
Antiguo 30-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
A lo dicho por Pepe, solo añadir que debes recordar que el cliente mantendrá en memoria los 4000 registros.... si el cliente tiene poca memoria, esto podria provocar swaping, con una rebaja considerable en el rendimiento. Es mejor, como ya apuntó Pepe, una consulta mas pequeña.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 30-03-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Para indicar el máximo de registros a devolver en el select como dice PepeLolo se utiliza FIRST.

También habría que ver por que razones devuelve 4000 registros, pero lo cierto es que ningún usuario en mi opinión tiene la capacidad de evaluar mas de 500 registros en una consulta, a menos que sea para generar algún tipo de informe.
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #6  
Antiguo 30-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Cita:
Empezado por Gydba
a menos que sea para generar algún tipo de informe.
En cuyo caso podes olvidarte del cursor bidireccional, con lo que tanto el BDE como cualquier otra librería de acceso a datos debiera deshacerse de los registros una vez usados, pues no tiene sentido mantenerlos en memoria... cierto??

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 22:08:06.


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