1) Try WordPress › WPDB Profiling « WordPress Plugins to see what is running all the queries.
2) Clearing post and page revisions will greatly reduce the size of a WP database – up to 90% in some cases – with a huge return in speed and lower server load. Run as SQL query in phpmyadmin to delete revisions; change table prefix as necessary:
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type="revision"
Then optimize all tables. And then add
define ('WP_POST_REVISIONS', FALSE);
near the top of wp-config.php to disable future revisions.
3) Check your permalink structure: Category in Permalinks Considered Harmful » Otto on WordPress