このクエリよりも簡単ですか?
delete a.* from matches a
inner join matches b ON (a.uid = b.matcheduid)
matchesはい、明らかにそうです...テーブルが非常に大きい場合、上記のクエリのパフォーマンスは非常に悪いためです。
matches約 2 億 2000 万レコードです。この DELETE クエリにより、サイズが約 15,000 レコードに減少することを願っています。クエリのパフォーマンスを向上させるにはどうすればよいですか? 両方の列にインデックスがあります。UID と MatchedUID は、この InnoDB テーブルの 2 つの列のみであり、どちらも INT(10) 型であり、符号なしです。ラップトップ (i7 プロセッサ) でクエリが 14 時間以上実行されています。