![]() |
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 ;) |
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? |
oki
Que Componentes usas????
Que versión de FireBird usas???? saludos. |
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 ;) |
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 |
puedes usar Limit para limitar un numero de datos, ejemplo:
pero para los X ultimos de registro, ahora mismo no se. salu2. |
?? |
estas esta
Puedes usar también....
Probe con firebird con LIMIT pero no reconoce esa instrucción. Saludos |
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