When a database is swept, all old invalid data is removed from the data pages, thus reducing the total size of the database and making room for new data sets.
A database sweep performs a garbage collection in the database, and is performed automatically during a database backup or when a
SELECT query is made on a table (and not by
DELETE). Furthermore database sweeps are, as standard, executed automatically after every 20,000 operations. With very consistent databases however a database sweep can be started unnecessarily and thus cost unnecessary performance loss during normal user processing. The default database sweep interval value of 20,000 (operations) can be overwritten using the IBExpert Services menu item Database Properties.
Under Sweep Interval the number of operations can be specified before a database sweep should be automatically performed. A database sweep or backup can be performed during 24 hour operation online without any problems (i.e. the server does not need to be shut down). This however does slow performance during the sweep which may not be desired.
If the sweep interval is specified at zero (0) it is not performed automatically at all. It could then be performed explicitly, for example, at night as a sweep or backup using
GFIX and the
at Windows command or the Linux
New to Firebird 2.0: Superserver garbage collection changes
Database repair and sweeping using
Firebird for the database expert: Episode 4 - OAT, OIT and Sweep
Firebird database housekeeping utility
How to analyse and repair a corrupted database
Firebird for the database expert: Episode 3 - On Disk Consistency
Preventing data loss
Alternative database repair methods
Detect and avoid database errors