大型mysql插入超时

大型mysql插入超时,mysql,Mysql,我有一个大表(200+m记录),我正在运行以下查询: INSERT INTO queue_noindex (DomainID,ProcessFlag) SELECT DomainID,ProcessFlag FROM central_store WHERE BatchInstall = 2 LIMIT 6000000,250000000 我现在已经运行了很多次,每次运行时都会得到以下信息: 显示表格状态=Aprox。52m行 我知道central_store中至少有100万条

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

INSERT INTO queue_noindex (DomainID,ProcessFlag) 
  SELECT DomainID,ProcessFlag 
  FROM central_store 
  WHERE BatchInstall = 2 LIMIT 6000000,250000000
我现在已经运行了很多次,每次运行时都会得到以下信息:

显示表格状态
=Aprox。52m行

我知道central_store中至少有100万条记录适用,并且查询仍在运行。。。14167秒。当它早些时候完成时,
queue\u noindex
表中实际上没有记录,因此它显然没有完成,并真正插入了它所说的记录


是否有日志或我可以查看的东西来解释为什么这个查询(非常简单,BatchInstall上有一个索引)一直失败?

所以答案是从
var/logs/mysql
中找到的错误日志中得到的线索:

66[错误]读取表格时出现错误147'/iprf\u v2/central\u store'

在进一步的调查中,我发现这是由于锁太多,解决方案是更改
设置全局innodb\u buffer\u pool\u size=1073741824


因此,我再次运行了查询(但这是唯一运行的查询),并更改了池大小,它正确地传输了记录。

每次运行查询时通常会添加多少记录?插入过程中是否涉及任何其他脚本访问任何一个表(以及同时访问表的查询类型)?这是在任何时候访问任何一个表的唯一查询。上面说有5000万条左右的记录,但它们实际上并没有被输入到表中。您运行的是哪个版本的MySQL(版本号)?