有个项目,外包开发的,本该加锁的,没做处理,结果导致查询失败,奔溃了。
现在需要把冗余的数据,清除掉,并建立相关索引。操作语句如下:
DELETE wx_qr_code_user FROM
wx_qr_code_user ,
(
SELECT
MIN(id) id,
wx_qr_code_id, user_open_id
FROM
wx_qr_code_user
GROUP BY
wx_qr_code_id, user_open_id
HAVING
COUNT(*) > 1
) t2
WHERE
wx_qr_code_user.wx_qr_code_id=t2.wx_qr_code_id
AND wx_qr_code_user.user_open_id=t2.user_open_id
AND wx_qr_code_user.id > t2.id;