大的mysql插入超时

时间:2018-01-13 21:46:58

标签: mysql

我有一张大表(200 + m条记录),我正在运行以下查询:

INSERT INTO queue_noindex (DomainID,ProcessFlag) 
  SELECT DomainID,ProcessFlag 
  FROM central_store 
  WHERE BatchInstall = 2 LIMIT 6000000,250000000

我现在已经运行了很多次,每次运行时都会得到以下内容:

Show table status = Aprox。 52米行

我知道central_store中至少有100条记录适用且查询仍在运行...并且在14167秒。当它早些完成时,queue_noindex表中实际上没有记录,所以它显然没有完成并真正插入它所说的记录!

是否有我可以查看的日志或其他内容为什么此查询(这很简单且BatchInstall上有索引)一直失败?

1 个答案:

答案 0 :(得分:1)

所以答案结果是来自var/logs/mysql

中的错误日志的线索

66 [ERROR] Got error 147 when reading table './iprf_v2/central_store'

在进一步调查中,我发现这是由于锁定太多而且解决方案是改变SET GLOBAL innodb_buffer_pool_size = 1073741824

所以我再次运行查询(但它是唯一运行的查询)并且还更改了池大小并正确地传输了记录。