小编ric*_*rdo的帖子

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

我在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);
Run Code Online (Sandbox Code Playgroud)

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

请指教

php mysql sql mysql-error-1064

6
推荐指数
1
解决办法
1601
查看次数

如果只有值为空或NULL,则更新MySQL表中的列

我之前已经应用了这个查询...它完美无缺,并得到了本论坛其中一位成员的回答

UPDATE
    jos_jbjobs_jobseeker a
    INNER JOIN jos_users b ON a.email = b.email
SET
    a.user_id = b.id
Run Code Online (Sandbox Code Playgroud)

现在我想使用相同的查询添加一个条件...即

仅当a.user_id为空时才设置a.user_id = b.id

我可以申请这个:

如果a.user_id =''SET a.user_id = b.id;

mysql sql joomla

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×2

sql ×2

joomla ×1

mysql-error-1064 ×1

php ×1