I was curious about this: http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/ http://www.mysql.com/news-and-events/newsletter/2003-11/a0000000269.html so I did a couple ad hoc tests. Celeron 1.7Ghz 512MB ram MySQL 5.0 (Note: I got errors when I tried to change innodb_log_file_size with MySQL version 4.1 on Debian) # You can set innodb_buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high # Set innodb_log_file_size to 25 % of innodb_buffer_pool_size # innodb_buffer_pool_size = 128M Before each test: DROP DATABASE sa_bayes; CREATE DATABASE sa_bayes; USE sa_bayes; SOURCE /root/bayes_mysql.sql; ALTER TABLE bayes_expire TYPE=InnoDB; ALTER TABLE bayes_global_vars TYPE=InnoDB; ALTER TABLE bayes_seen TYPE=InnoDB; ALTER TABLE bayes_token TYPE=InnoDB; ALTER TABLE bayes_vars TYPE=InnoDB; quit Create initial user: su amavis -c 'sa-learn --spam sample-spam.txt' Restoring a 9MB Bayes database from a backup: time su amavis -c 'sa-learn --restore backup.txt' The Cpu % jumps around quite a bit, so these are only representational. The queries per second avg tends to improve as time goes on. ############################################################################## innodb_buffer_pool_size | 8388608 # default 8M innodb_log_file_size | 5242880 # default 5M top - 19:29:15 up 1:36, 2 users, load average: 1.17, 1.07, 0.75 Tasks: 64 total, 1 running, 63 sleeping, 0 stopped, 0 zombie Cpu(s): 8.3%us, 3.8%sy, 0.0%ni, 0.0%id, 87.1%wa, 0.8%hi, 0.0%si, 0.0%st Mem: 516780k total, 470532k used, 46248k free, 37288k buffers Swap: 120448k total, 0k used, 120448k free, 213904k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 11861 amavis 16 0 32220 25m 3084 S 1.5 5.1 0:43.97 sa-learn 3471 mysql 15 0 124m 19m 5508 S 9.0 3.9 1:14.24 mysqld Queries per second avg: 76.882 This took: real 196m40.059s # 3.26 hours user 5m24.612s sys 0m52.603s ############################################################################## If I had more available ram, this may have done better... In the [mysqld] section of my.cnf: innodb_buffer_pool_size = 128M innodb_log_file_size = 32M innodb_buffer_pool_size | 134217728 innodb_log_file_size | 33554432 top - 20:28:49 up 2:35, 2 users, load average: 2.00, 1.92, 1.55 Tasks: 64 total, 1 running, 63 sleeping, 0 stopped, 0 zombie Cpu(s): 59.5%us, 15.9%sy, 0.0%ni, 0.0%id, 24.3%wa, 0.3%hi, 0.0%si, 0.0%st Mem: 516780k total, 490356k used, 26424k free, 32284k buffers Swap: 120448k total, 44k used, 120404k free, 234028k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 12960 amavis 15 0 32220 25m 3084 S 30.9 5.1 3:57.83 sa-learn 12887 mysql 15 0 215m 23m 4564 S 44.5 4.7 5:20.57 mysqld Queries per second avg: 630.082 This took: real 25m17.483s user 5m25.160s sys 0m58.264s ############################################################################## If I had more available ram, this may have done better... innodb_buffer_pool_size | 268435456 #256MB innodb_log_file_size | 67108864 #64MB top - 05:17:08 up 11:24, 2 users, load average: 2.11, 1.96, 1.40 Tasks: 64 total, 1 running, 63 sleeping, 0 stopped, 0 zombie Cpu(s): 79.4%us, 19.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.3%hi, 0.3%si, 0.0%st Mem: 516780k total, 510488k used, 6292k free, 29828k buffers Swap: 120448k total, 52k used, 120396k free, 271004k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20585 amavis 15 0 32220 25m 3084 S 42.9 5.1 4:24.14 sa-learn 20485 mysql 15 0 348m 29m 4588 S 56.8 5.8 5:54.25 mysqld Queries per second avg: 431.094 This took: real 25m33.937s user 5m28.089s sys 0m56.528s ############################################################################## Used: status; show variables; Net result: 8X faster in this test (I'm guessing mostly inserts). It might have been even faster if I had more available free ram.