cleanup_digikamdb - Cleanup the digiKam databases to reduce their sizes and
increase access speed
[-t] [-T] [-p] [-h]
- Include thumbnail databases.
- Only cleanup thumbnail databases.
- -p path
- Specify a different database path. If this option is
not set or the specified path is invalid, the entry from the
configuration file will be used.
- Show command line options.
will cleanup and optimize the digiKam database file.
This will, in most cases, lead to a smaller database file size and an
increased access speed, because unneeded elements are removed from the
database and data is optimized.
The program will make sure that no instance of digiKam is running, because it is
more safe to have no database access during the optimization process. It then
will read the digiKam configuration file and determine the database location.
In a final step the database will be optimized by invoking the sqlite command
;' on it. If more then one database is found in this location,
will optimize every database found in this path and
For further explanation, see the following description of the VACUUM
command from the sqlite3 website:
When an object (table, index, or trigger) is dropped from the database, it
leaves behind empty space. This empty space will be reused the next time new
information is added to the database. But in the meantime, the database file
might be larger than strictly necessary. Also, frequent inserts, updates, and
deletes can cause the information in the database to become fragmented -
scrattered out all across the database file rather than clustered together in
command cleans the main database by copying its contents to a
temporary database file and reloading the original database file from the
copy. This eliminates free pages, aligns table data to be contiguous, and
otherwise cleans up the database file structure.
was written by Andi Clemens <andi dot clemens at
gmail dot com>