php – 如何优化UPDATE查询以获得更好的MySQL性能

我在mySQL db中有2个表… 它们非常大……现在约有100万,很快就会达到500万左右 一个是求职者 另一个是joomla用户表 我想将ID复制或插入到jobseeker表中,两者的电子邮件列都匹配. 即求职者电子邮件= jos用户的电子邮件. 我使用下面的查询,但它需要太多的时间,

我在mySQL db中有2个表…

它们非常大……现在约有100万,很快就会达到500万左右

一个是求职者
另一个是joomla用户表

我想将ID复制或插入到jobseeker表中,两者的电子邮件列都匹配.

即求职者电子邮件= jos用户的电子邮件.

我使用下面的查询,但它需要太多的时间,并在mysql服务器上加重…查询卡住了,我总是最终重新启动mysql …

UPDATE  `jos_jbjobs_jobseeker` 
SET user_id =   ( SELECT jos_users.id
FROM jos_users
WHERE jos_users.email =  jos_jbjobs_jobseeker.email)
WHERE EXISTS
  ( SELECT jos_users.id
    FROM jos_users
    WHERE jos_users.email =  jos_jbjobs_jobseeker.email);

如何优化上述查询以获得更好的性能.另外,如果它可以批量执行,即20000或40000记录,我会感兴趣.

请指教

试试这个:

UPDATE
    jos_jbjobs_jobseeker a
    INNER JOIN jos_users b ON a.email = b.email
SET
    a.user_id = b.id

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部