Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Tabla Grande = Lentitud, Porque??? (https://www.clubdelphi.com/foros/showthread.php?t=19975)

ELINK 01-04-2005 18:31:57

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) :confused: :confused: :confused:
Gracias de antemano por sus respuestas ;)

mamcx 01-04-2005 18:58:44

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?

AGAG4 01-04-2005 19:37:09

oki
 
Que Componentes usas????

Que versión de FireBird usas????

saludos.

jachguate 01-04-2005 19:38:10

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

;)

ELINK 01-04-2005 20:27:31

mi error
 
Da descubri cual era "mi" error...(Pero me da verguenza publicarlo por q es muy infantil :D ) asi se los voy a decir a traves de una pregunta :p
Tengo otra pregunta y es como puedo pedir a traves de una instruccion sql para q me muestre los 20 ultimos registros??? :D

MasterXP 02-04-2005 04:14:04

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.

mamcx 02-04-2005 21:04:45

Código SQL [-]
SELECT * FROM MiTabla Limit 20 ORDER BY Clave DESC
??

AGAG4 02-04-2005 21:29:41

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

ELINK 08-04-2005 15:46:59

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
;) :D


La franja horaria es GMT +2. Ahora son las 04:06:26.

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