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)
-   -   Tamaño de Interbase (https://www.clubdelphi.com/foros/showthread.php?t=35055)

atani123 30-08-2006 10:11:25

Tamaño de Interbase
 
Tengo un extraño problema con la version free de Interbase.

Una simple facturacion de un dia para otro la base de datos pasa a estar de la siguiente manera
3200 registros ----- .gdb con tamaño 9 Mb y al dia siguiente
3318 registros ----- .gdb con tamaño 1,2 GB.

No entiendo, alguien sabe por donde puedo coger el tema?

Gracias

nemesio 30-08-2006 14:28:51

¿Qué datos estas guardando en la BD? ¿Cuántos campos usas? pudiera ser que el 2do día guardaron datos mas completos.


Saludos

Casimiro Noteví 30-08-2006 14:42:24

Por ejemplo: 100 fotos de 10 Mb cada una = 1.000 Mb = 1 Gb :)

atani123 01-09-2006 12:19:36

No, todo esta correcto. Va grabando registros, y de vez en cuando se queda clavado grabando un registro. Cuando termina, bien por si solo o bien porque cierras el servidor de interbase, me queda un fichero del 1GB por ej. Que luego compacto haciendo un Backup y un Restore y me queda en 30Mb.

Alguien tiene alguna idea.

Casimiro Noteví 01-09-2006 12:28:26

Cita:

Empezado por atani123
No, todo esta correcto. Va grabando registros, y de vez en cuando se queda clavado grabando un registro. Cuando termina, bien por si solo o bien porque cierras el servidor de interbase, me queda un fichero del 1GB por ej. Que luego compacto haciendo un Backup y un Restore y me queda en 30Mb.

Alguien tiene alguna idea.

¿Algún bucle?, ¿has investigado qué datos son?, ¿cuándo te ocurre eso?, ¿qué... cómo... cuándo... por qué... ;) ?

atani123 04-09-2006 08:24:13

No es ningun bucle. Miras la base de datos y tiene 80 registros y un tamaño de 1Giga y pico. Despues compactas la base de datos y se queda con 80 registros y 32 Megas.

Creo que apunta al tamaño que interbase se reserva para nuevos registros, que por alguna razon que desconozco se dispara.

Ya no se por donde mirar, estoy pensando en pasar la BD a SQL Server, que me aconsejais.

Casimiro Noteví 04-09-2006 08:52:35

Cita:

Empezado por atani123
No es ningun bucle. Miras la base de datos y tiene 80 registros y un tamaño de 1Giga y pico. Despues compactas la base de datos y se queda con 80 registros y 32 Megas.

Creo que apunta al tamaño que interbase se reserva para nuevos registros, que por alguna razon que desconozco se dispara.

Ya no se por donde mirar, estoy pensando en pasar la BD a SQL Server, que me aconsejais.

Interbase no se reserva ningún espacio para nuevos registros.

Debes chequear tu programa, comprueba qué están haciendo los usuarios cuando empieza a subir el tamaño de la base de datos y depurar el código hasta encontrar al "culpable".
Es normal que ocupe más después de trabajar con ella, pero esa cantidad es excesiva y seguro que no es culpa de la base de datos, pobrecita :)

atani123 04-09-2006 10:44:47

La aplicacion es monousuario, llevo muchos años programando y te puedo asegurar que el codigo no tiene ningun error, es de lo mas sencillo.

Por otro lado la base de datos no empieza a incrementarse poco a poco, sino que de golpe pasa de tener 50Mb a 800Mb. Al hacer la grabacion del registro (el post) se queda parado. Y pasa de 50 a 800 en ese registro.

Descarto que se un problema de hardware, ya que de unos 20 equipos donde tengo instalado el mismo programa solo me pasa en 3 de ellos, tambien descarto error de software ya que es el mismo para los 20, y por supuesto descarto error de usuario ya que no interviene para nada, estan instalados en una cadena de montaje y es todo automatico. Por lo tanto solo me queda que sea un bug de IB o que tenga algo mal en la configuracion, y al alcanzar x transacciones (commitretaining) de algun problema. no se.

Casimiro Noteví 04-09-2006 11:18:05

Cita:

Empezado por atani123
La aplicacion es monousuario, llevo muchos años programando y te puedo asegurar que el codigo no tiene ningun error, es de lo mas sencillo.

Por otro lado la base de datos no empieza a incrementarse poco a poco, sino que de golpe pasa de tener 50Mb a 800Mb. Al hacer la grabacion del registro (el post) se queda parado. Y pasa de 50 a 800 en ese registro.

Descarto que se un problema de hardware, ya que de unos 20 equipos donde tengo instalado el mismo programa solo me pasa en 3 de ellos, tambien descarto error de software ya que es el mismo para los 20, y por supuesto descarto error de usuario ya que no interviene para nada, estan instalados en una cadena de montaje y es todo automatico. Por lo tanto solo me queda que sea un bug de IB o que tenga algo mal en la configuracion, y al alcanzar x transacciones (commitretaining) de algun problema. no se.

Pues, "casi" seguro, seguro, seguro... que no es ningún bug de interbase, al menos no tengo conocimiento de ningún error de ese tipo documentado.
No sé qué versión tendrás, imagino que la 6, cámbiala por Firebird, no notarás nada, salvo más velocidad. Ya sabes, haces un backup transportable con el interbase actual, luego lo desinstalas, instalas el firebird y haces el restore.

Al menos lo pruebas y te quedas tranquilo que no es interbase y seguro que te quedas con firebird después.


La franja horaria es GMT +2. Ahora son las 22:55:49.

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