Delete all WordPress post revisions

-- The joins matter: deleting only from wp_posts leaves orphaned meta and
-- term rows behind, and nothing ever cleans those up.
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';