Client with 4-year old WordPress site had accumulated 18,000+ non-approved spam comments. This tip from WPRecipes will delete all non-approved comments.

  1. Backup your database
  2. Log in to your phpMyAdmin account
  3. Select your WordPress blog database
  4. Run SQL:
DELETE FROM wp_comments WHERE comment_approved = '0';

Original article on WPRecipes: Mark asked: How to batch deleting spam comments on a WordPress blog?