![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Esquivar el problema
Lo que se me ocurre, es que tengas 365 Base de datos, es decir 1 para cada dia. y ademas tener Otra BD maestra con aglutine datos al finalizar cada dia. una vez traspasado el dia anterior la borras.
Salu2 desde Chile. Cita:
|
|
#2
|
|||
|
|||
Mas o menos es esto, una estacion meteorologica que registra la temperatura cada minuto. Posteriormente se podra consultar y demas, pero de momento tiene un timer que cada minuto mira el valor de la sonda y lo registra. Despues borra todos los registros en que la fecha < fecha-2dias. |
|
#3
|
||||
|
||||
|
Cita:
Has registrado el tiempo que tarda cada inserción? Si todas van normales, debe haber una en particular que tome mucho tiempo... hacer crecer la base de 30Mb a 2Gb no es cosa de un segundo... Es normal que una base de datos de firebird crezca mas allá de lo que se espera originalmente... pero el crecimiento en tu caso me parece descabellado. Se me ocurre que lances periodicamente un gfix -sweep sobre la base, pero si no hay modificaciones a los registros (updates), no hay razón para que haya basura en la base... solamente después del borrado. ¿cómo es el manejo de transacciones? ¿abris y cerras una transacción para insertar cada registro? ¿commit o commit retaining? Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#4
|
||||
|
||||
|
es una suposición:
es probable que la applicación comience una trasacción y no la cierre, y abra ora, así anidandolas, o usando commit retaining, con lo cual no se cierra y firebird necesita tener el estado de todas sus trasacciones.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás... análisis de información análisis y diseño de sistemas Paoti Rios Reséndiz |
|
#5
|
|||
|
|||
|
Solo una sugerencia, probaste utilizando directamente una sentencia sql con un query.
Tal ves y solo tal ves sea un problema del componente que utilizas, por como hace la inserción del registro un ttable.
__________________
Suerte Alejandro |
|
#6
|
|||
|
|||
|
A ver, a las preguntas, efectivamente hay un registro que tarda muchisimo en grabarse, tanto que debo hacer un down del servidor, este es que que me da el saldo de los 30Mb a los 2Gb, (que por cierto es un registro normal y corriente y no siempre es el mismo).
Efectivamente, utilizo el componente TIBTable para hacer las inserciones y el TIBQuery para el borrado de registros. Despues de cada TIBTable.Post realizo un CommitRetaining. El PC que tiene el problema lo tengo a 700Km de distancia, por lo que lo que he hecho ha sido restaurar una imagen Ghost en un PC que tengo en casa con la misma configuracion que el de mi cliente, pero cosas de la vida, aqui no me pasa el error. El tiempo de las inserciones es normal, 1seg o menos aprox. Gracias de nuevo He probado metiendo un bucle infinito para añadir registros y nada, todo funciona OK. |
|
#7
|
||||
|
||||
|
No veo sentido a usar un TIBTable, ni un commit retaining (aunque no veo también por que esto pueda causar el problema en cuestión). Creo que podes usar un TIbSQL y seguir el consejo de aledieb en cuanto a simplemente lanzar un insert into. También creo que debieras hacer un commit, dado que no hay razón para mantener abierta la transacción durante tanto tiempo...
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#8
|
||||
|
||||
|
Hola, atani123, hice un programita con un timer que inserta un registro cada minuto, datos aleatorios, con la base de datos que me enviaste. Lo puse en marcha ayer, miércoles por la mañana, y de momento va creciendo poquito a poquito, lo voy a dejar funcionando durante este largo fin de semana (aquí es fiesta mañana viernes).
El lunes te cuento. P.d.: si me dices exactamente qué tabla es en la que hay que insertar los registros, así hago una simulación lo más real posible con tu forma de trabajar, he elegido una tabla al azar, una que no tenía ningún registro. La prueba es con Delphi 7 + FIBplus + Firebird 1.5 en servidor Suse Linux.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 07-09-2006 a las 08:51:46. |
|
#9
|
|||
|
|||
|
Si, las tablas son Cero y CeroCar es un Master/Detail.
De todas formas yo lo he probado y me ha funcionado bien. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Con que sigo? | serfap | Varios | 6 | 12-06-2006 18:02:58 |
| Sigo con problemas con los indices | Antuan | Tablas planas | 6 | 10-10-2005 20:52:11 |
| sigo con MDI | pablo | OOP | 2 | 27-02-2005 17:42:15 |
| Sigo con mis preguntitas!!! | Critter | Varios | 1 | 15-12-2004 21:44:05 |
| sigo con la duda ? | saps | Conexión con bases de datos | 1 | 28-08-2003 11:22:27 |
|