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 01-04-2005
ELINK ELINK is offline
Miembro
 
Registrado: mar 2005
Posts: 55
Poder: 20
ELINK Va por buen camino
Tabla Grande = Lentitud, Porque???

Tengo una tabla con mas de 180,000 registros y a la hora de hacer un INSERT se demora como dos segundos y medio, cosa que es mucho tiempo comparado con el access que se demoraba menos de medio segundo con la misma cantidad de registros en su tabla, pienso que mientras mas registros tenga en la tabla mas largo va ha ser el tiempo para insertar un registro.
Hay alguna forma de revertir o corregir el problema del tiempo?
(necesito todos los registros en una sola tabla)
Gracias de antemano por sus respuestas
Responder Con Cita
  #2  
Antiguo 01-04-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.912
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Podrias poner un codigo de muestra?

A proposito... envias un comando INSERT con un Command o haces un Insert en un dataset (esto ultimo es mas lento)

Esta todo corriendo dentro de una transaccion?

Es a travez de la red o el servidor es Local?
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 01-04-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Que Componentes usas????

Que versión de FireBird usas????

saludos.
Responder Con Cita
  #4  
Antiguo 01-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Estoy casi seguro que el problema no viene de firebird... pero hay una forma fácil de comprobarlo (a menos que ya lo estes haciendo así).

Andá a isql (en modo de consola) y ejecutá alli una sentencia Insert sobre la tabla problemática, con un cronómetro en mano. La ejecución debiera ser inmediata (1/2 segundo es un horror, en serio).

Si es lenta aqui, entonces habrá que revisar porque... quizas una llave foranea para la que el índice de base está trastocado, o quizas un disco muy lento o un sistema operativo mal configurado... no se...

Si no es lenta aqui, entonces el problema está mas allá del servidor y habrá que ver que método estas usando para conectarte y muchos detalles mas...

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 01-04-2005
ELINK ELINK is offline
Miembro
 
Registrado: mar 2005
Posts: 55
Poder: 20
ELINK Va por buen camino
mi error

Da descubri cual era "mi" error...(Pero me da verguenza publicarlo por q es muy infantil ) asi se los voy a decir a traves de una pregunta
Tengo otra pregunta y es como puedo pedir a traves de una instruccion sql para q me muestre los 20 ultimos registros???
Responder Con Cita
  #6  
Antiguo 02-04-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
puedes usar Limit para limitar un numero de datos, ejemplo:

Código SQL [-]
SELECT * FROM MiTabla Limit 20

pero para los X ultimos de registro, ahora mismo no se.

salu2.
Responder Con Cita
  #7  
Antiguo 02-04-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.912
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Código SQL [-]
SELECT * FROM MiTabla Limit 20 ORDER BY Clave DESC
??
__________________
El malabarista.
Responder Con Cita
  #8  
Antiguo 02-04-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
estas esta

Puedes usar también....
Código SQL [-]
SELECT First 200 *FROM MiTabla 
BY Clave DESC
Probe con firebird con LIMIT pero no reconoce esa instrucción.

Saludos

Última edición por AGAG4 fecha: 02-04-2005 a las 21:31:47.
Responder Con Cita
  #9  
Antiguo 08-04-2005
ELINK ELINK is offline
Miembro
 
Registrado: mar 2005
Posts: 55
Poder: 20
ELINK Va por buen camino
Gracias

Gracias a Todos Por su Ayuda
la que me funcionó fue esta:

SELECT First 200 *FROM MiTabla
BY Clave DESC

Ya que mi base de datos es FireBird 1.5
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 18:25:40.


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