我正在进行以下查询:
UPDATE extlinks
INNER JOIN sp_board using (title)
SET extlinks.board_id = sp_board.id
两个title
列都是索引,以及board_id
列和id
列(它是主索引)。 extlinks
有645万行,而sp_board
有大约370万行。两张桌子都是Innodb。
我在一个多小时前开始加入,但它还没有完成。这是正常的吗?如果是的话,我可以期待多长时间?如果没有,任何关于可能出错的想法?
TIA!
答案 0 :(得分:1)
对于大型更新,几小时的运行时间是正常的。如果您正在使用InnoDB,MySQL服务器必须为您的更新生成一个事务,因此如果需要它可以回滚它。这需要很多开销。在此操作期间,您的服务器可能正在使用大量RAM和IO。
稍等一下。