18 plugins is a lot of code being executed, you might want to try disabling them all and check the speed, then add them in a little at a time to find out which is a problem.
9288 rows is not that big, but doing a optimize won't hurt.
You do have a backup of your database...RIGHT!!?
there is a great plugin called wp-dbmanager that you can schedule it to do backups and optimizations for you (you can even have an export emailed to you automatically)
Most of the rows could be from 'post' updates. Wordpress keeps every revision. You can limit the number ov revisions by adding the following line to wp_config.php:
define ('WP_POST_REVISIONS', 2);
this will only keep 2 revisions of any post. A negative number will keep all revisions, 0 will keep none and any positive number will keep that many copies
And if you reallyfeel brave you can go into phpMyAdmin and (AFTER DOING A BACKUP/EXPORT) you can issue the following SQL statement which will remove ALL the rvisions
delete FROM `wp_posts` where `post_type` = 'revision'
If you look at teh row count for the table wp-posts before and after, you can see how many rows were revisions.
Then do an Optimize of the table.