0
'source_key'フィールドのインデックスを使用して次のSQLクエリを実行しようとしています。 MySQLでは、それは非常に長い時間のために '送信データ'のステータスでハングします。MySQLで非常に遅い内部結合クエリを高速化
UPDATE clients_test c
INNER JOIN
(
select dob, last_name, soundex(first_name) as soundexfirstname, max(source_key) as keep
from clients_test
group by dob, last_name, soundex(first_name)
having count(*) = 2
) k
ON c.dob=k.dob AND c.last_name=k.last_name AND soundex(c.first_name)=k.soundexfirstname
SET duplicate_key = NULLIF(k.keep, c.source_key),
duplicate = (k.keep = c.source_key);
データベーステーブルclients_testの重複レコードを識別して削除することになっています。この作業をより速くするか、クエリをより効率的に変更する方法はありますか?
事前に計算されたフィールドにsoundexを移動すると、このクエリが確実にスピードアップされます。低電力のクラウドインスタンスではまだ長い時間がかかりましたが、少なくとも1日以上はハングしませんでした。 – Darren