DB Maintenance

deekayen - December 18, 2005 - 10:21

DB maintenance optimizes administrator-selected tables in the database during regular cron.php executions. For MyISAM tables, OPTIMIZE TABLE repairs a table if it has deleted or split rows, sorts table indexes, and updates table statistics. For BDB and InnoDB, OPTIMIZE rebuilds the table. Note, MySQL locks tables during the time OPTIMIZE TABLE is running.

OPTIMIZE works best on tables with large deletions (e.g. cache or watchdog), however MySQL will reuse old record positions, therefore in most setups, OPTIMIZE TABLE is unnecessary unless you just like defragmenting. The Overhead column in phpMyAdmin's database view is the most common way to determine the need of an OPTIMIZE TABLE query. It essentially shows the amount of disk space you would recover by running an optimize/defragmentation query.

Think of OPTIMIZE TABLE like defragmenting your hard drive. Sure your system will run without it, and it might even be fast, but isn't it nice to run a defrag when you can?

6.x+ PostgreSQL support: Per PostgreSQL documentation's recommendation, this module does not use the VACUUM FULL operation that locks the tables; this module can operate in parallel with normal reading and writing of PostgreSQL tables.

5.x only: Some basic database backup routines allow for sending tarballs of the database to somewhere else.

Releases

Official releasesDateSizeLinksStatus
6.x-1.12008-May-289.07 KBRecommended for 6.xThis is currently the recommended release for 6.x.
5.x-2.1-beta32008-Aug-0812.4 KBSupported for 5.xThis release is supported but is not currently the recommended release for 5.x.
5.x-1.22007-Jan-288.84 KBRecommended for 5.xThis is currently the recommended release for 5.x.
 
 

Drupal is a registered trademark of Dries Buytaert.