When a topic is moved to another forum, move_topic() in functions_admin.php makes this call to update the forum_id of all drafts which are associated with that topic:
But the drafts table has no index on topic_id, so every row in the table must be examined:
A new index on topic_id must be added to serve this efficiently.
Note that the existing indexes on the drafts table are poorly defined in general, which causes performance issues in other situations as well. Please see this ticket: http://tracker.phpbb.com/browse/PHPBB3-10712