MySQL在大表上的UPDATE查询

ram*_*mpr 5 mysql large-data table-locking

我有一个包含21M记录的MySQL数据库,我正在尝试对大约1M记录进行更新,但查询失败了 ERROR 1206 (HY000): The total number of locks exceeds the lock table size.

是否可以在不获取锁的情况下更新表?

我没有权限更改MySQL配置参数innodb_buffer_pool_size.是否有不同的方法来实现相同的目标?

谢谢

编辑:

  1. 我已经尝试了5000批次,它可以工作几次,但我得到了同样的错误
  2. 我已经尝试过LOCK TABLES锁定整个表格,但它仍然不起作用.

Fai*_*roz 3

我认为你可以使用 limit 子句来批量进行更新。