Vacuuming your index still works wonders

[Tweet : ADN : nvALT]

There was a tip on Hawk Wings long ago which showed how to speed up Apple’s by vacuuming the SQLite3 index. I hadn’t tried it since Snow Leopard, but I was having some serious issues with the time it took to open a Mail folder on my Air, so I thought I’d give it a shot.

The same trick still works, you just have to modify the path. The new command (in Mountain Lion, and probably Lion) is:

 sqlite3 ~/Library/Mail/V2/MailData/Envelope\ Index vacuum;

Give it a shot and see if performance improves. If it does, you can automate this with a bash function or AppleScript. Here’s a handy AppleScript from Hawk Wings modified to work with the new path:

Open AppleScript Editor, paste that in and save it as a “scpt” file in “~/Library/Scripts/” (“~” is your home folder, create the “Scripts” folder if it’s not there1). Run it using the script menu (if you have it enabled in AppleScript Editor preferences) or directly from AppleScript Editor. You could also have it run automatically in the middle of the night using a scheduler like Lingon and osascript to run the AppleScript file.

You usually won’t see a huge difference in the database size, but you’ll definitely notice the improvement in Mail’s performance.

  1. If you can’t find your ~/Library folder while you’re in the Save dialog, use G to open the “Go to folder” dialog and enter “~/Library” and hit enter. It will take you to the (hidden) Library folder where you can look for the Scripts folder, creating it with N if it doesn’t exist.