FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Optimizar tablar en Firebird
Hola a todos, tengo un problemita, estoy tratando de desfragmentar una tabla en feribird, y cuando ejecuto la sentencia:
me aperece un error, operador no reconocido, tambien intente con ANALYZE TABLE, y me dio el mismo. Alguien sabe como puedo desfragmentar una tabla en firebird, utlizo delphi 7 y firebird 1.5. gracias de antemano. |
#2
|
||||
|
||||
Saludos.
Hasta donde tengo entendido en FB no existe sentencia alguna para lo que deseas realizar, lo que si puedes hacer es un Backup/Restore y esto "desfragmenta" todo.
__________________
Gracias, Rolphy Reyes |
#3
|
||||
|
||||
Para optimizar una base Firebird puedes utilizar esto que he sacado de aquí:
Esto recalcula la selectividad de los índices. (es bueno para que las consultas hagan uso de un buen PLAN) No se de nada que haga una "defragmentación de tablas". De todos modos: Si tu servidor es Windows, realiza una defragmentación del disco cada noche. Haz un backup y restore antes de hacer algún proceso masivo que vaya a hacer muchos cambios en la base. Cada tanto haz un backup y restore de la base de datos. Cada noche haz un backup para que haga un Garbaje collection cuando no hay nadie conectado. (o por lo menos un GFIX -SWEEP) Para ver como está la base de datos puedes utilizar el GSTAT -H: Se puede utilizar aunque haya clientes conectados. Código:
WINDOWS "C:\Archivos de programa\Firebird\Firebird_1_5\bin\gstat" -h basededatos.fdb -user SYSDBA -pass masterkey LINUX /opt/firebird/bin/gstat -h /bases/basededatos.fdb Database "/bases/basededatos.fdb" Database header page information: Flags 0 Checksum 12345 Generation 11429 Page size 4096 ODS version 10.1 Oldest transaction 11415 Oldest active 11416 Oldest snapshot 11415 Next transaction 11423 Bumped transaction 1 Sequence number 0 Next attachment ID 0 Implementation ID 19 Shadow count 0 Page buffers 0 Next header page 0 Database dialect 1 Creation date Jan 29, 2008 21:10:28 Variable header data: Sweep interval: 0 *END* Para limpiar transacciones puedes hacer lo siguiente: Se puede hacer con clientes conectados pero tardará bastante más. Código:
WINDOWS "C:\Archivos de programa\Firebird\Firebird_1_5\bin\gfix" -sweep basededatos.fdb -user SYSDBA -pass masterkey LINUX /opt/firebird/bin/gsfix -sweep /bases/basededatos.fdb Última edición por duilioisola fecha: 05-08-2008 a las 11:51:53. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
optimizar codigo | acrophet | Varios | 5 | 16-01-2011 23:28:39 |
Optimizar con MySql | whatson | Conexión con bases de datos | 2 | 23-01-2008 04:41:27 |
optimizar base de datos firebird | MaTuR | Firebird e Interbase | 2 | 14-09-2006 19:37:03 |
Optimizar Consulta en Firebird | AGAG4 | Firebird e Interbase | 14 | 10-01-2006 02:11:30 |
Optimizar Paradox en red | Sick boy | Conexión con bases de datos | 0 | 26-02-2005 13:31:48 |
|