Housekeep expired transients from your options table
"Transients are a simple and standardized way of storing cached data in the WordPress database temporarily by giving it a custom name and a timeframe after which it will expire and be deleted."
Unfortunately, expired entries will only be deleted if you attempt to access the transient again. If you don't access the transient then, even though it's expired, WordPress will not remove it. This is a known "issue" and is due to be corrected at some point in the WordPress core code.
Why is this a problem? Transients are often used by plugins to "cache" data (my own plugins included). Because of the housekeeping problems this means that expired data can be left and build up, resulting in a bloated database table.
Meantime, this plugin is the solution, using the same proposed method as the WordPress core change will use. Simply activate the plugin, sit back and enjoy a much cleaner, smaller options table. It also adds the additional recommendation that after a database upgrade all transients will be cleared down.
Transients an options screen exists allowing you to tweak which of the various housekeeping you'd like to happen, including the ability to perform an ad-hoc run. You can also request an optimization of the options table to give your system a real "pep"!
This plugin, and all support, is supplied for free, but donations are always welcome.
I'd like to thank WordPress Developer Andrew Nacin for discussing this issue with and providing me with the Trac details. Also, I'd like to acknowledge the useful article at Everybody Staze for ensuring my proposed solution wasn't totally mad, and W-Shadow.com for the cleaning code.