前言
SQL百万计数据处理缓存过小处理-The total number of locks exceeds the lock table size报错处理方式的相关笔记
1. 运行出错
当我们直接对百万行的数据集进行复制数据和表结构操作时,会报以下错误:
报错信息为:
The total number of locks exceeds the lock table size
2. 处理方法
出现上述错误的原因是因为用于sql操作缓存提供过少,需要更改缓存大小。下面是具体操作:
从mysql command line client进入,点击后直接输入密码,一般默认密码为123456,输入后再输入命令:
show variables like “%_buffer%”;
会显示如下界面,找到如图示箭头所指的这一项,可以看到值为8M,这个也是缓存池的默认值。

接下来我们使用语句
SET GLOBAL innodb_buffer_pool_size=2147483648;
将缓冲池大小改为2GB(2*1024*1024*1024)。设置完成后退出即可。再次运行SQL将不会再报此类错误。