多个更新查询锁定MYSQL表

时间:2018-08-18 07:14:16

标签: mysql database

我的要求是根据客户端提供的电子邮件地址更新用户阻止邮件列表。电子邮件地址可以采用MD5,sha1或简单电子邮件地址的形式。 目前,当我用电子邮件列表更新用户电子邮件地址时,花费了很多时间后,它锁定了表,并且对该表没有进一步的查询过程。我还在两个表上都放了索引。

查询:

UPDATE database1.nl_user u 
INNER JOIN database2.email_blacklist e 
SET u.block_mail_list = IF(u.block_mail_list is NULL OR u.block_mail_list='',e.listId,concat(u.block_mail_list,',',e.listId)),e.isMatch = 1 
WHERE (md5(u.email) = e.email OR u.email = e.email OR sha1(u.email) = e.email);

用户表计数:“ 168219” 已阻止的电子邮件列表计数:“ 36,000”

感谢您的时间,并希望能收到您的来信。

谢谢! 问候

0 个答案:

没有答案