title: Slow self-join delete query
body: <p>Does it get any simpler than this query?</p>
  
  <pre><code>delete a.* from matches a
      inner join matches b ON (a.uid = b.matcheduid)
  </code></pre>
  
  <p>Yes, apparently it does... because the performance on the above query is really bad when the <code>matches</code> table is very large.</p>
  
  <p><code>matches</code> is about 220 million records.  I am hoping that this DELETE query takes the size down to about 15,000 records.  How can I improve the performance of the query?  I have indexes on both columns.  UID and MatchedUID are the only two columns in this InnoDB table, both are of type INT(10) unsigned.  The query has been running for over 14 hours on my laptop (i7 processor).</p>