Firefox 3 stores pretty much all user data in an internal SQLite database. This database includes, but is not limited to, bookmarks, history, passwords and add-on data. Of course, over time this can eventually require maintenance:
As any other database, SQLite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. So, a good way to improve startup and some other bookmarks and history related tasks is to defragment and trim unused space from these databases.
So much like your file system needs to be defragged every now and then, so should your Firefox database. This article titled “Speedup Firefox and Surf Web Faster-Clean SQLite Database” explains exactly how to do it.
The process is very simple and shouldn’t take more than a minute or so to run it. So if you haven’t ever done this, go ahead and give it a run.

Jason Faulkner is the man who brings you our daily tips. He is based in Atlanta, Georgia.
There is an add-on I use which I believe does much the same thing and can be scheduled to do its stuff automatically after a certain number of Firefox start-ups.
See:
https://addons.mozilla.org/en-US/firefox/addon/13878
Further to previous comment, see also:
http://www.crystalidea.com/speedyfox
A manual solution, which I imagine must work on much the same lines.
There’s a couple of other ways to do this. One is with the Firefox add-on Vacuum Places Improved:
https://addons.mozilla.org/en-US/firefox/addon/13878
and another is to use SpeedyFox:
http://www.crystalidea.com/speedyfox
Thanks for the links.
I will check these out and may run a tip on them in the future.
[...] a month ago, I wrote a tip on how to clean your internal Firefox database using a manual process. While this method works, a few of our readers commented on an add-on which [...]