If you suspect it is database issues, many times it is disk I/O. If you host the database on the same server as the web server, chances are the drives are configured for serving web pages, and not the transactional nature of a database.
If you have an easy way to archive, that's probably your best bet. Also make sure you have proper indexing and standard database maintenance (nightly reindex, transaction log maintenance, updating statistics on a regular basis, etc.)
Or you could try the brute force method and either throw more hardware at it or move it to Amazon (or other cloud service of choice). Just my $.02.