我有一张大表(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上有索引)一直失败?
答案 0 :(得分:1)
所以答案结果是来自var/logs/mysql
:
66 [ERROR] Got error 147 when reading table './iprf_v2/central_store'
在进一步调查中,我发现这是由于锁定太多而且解决方案是改变SET GLOBAL innodb_buffer_pool_size = 1073741824
。
所以我再次运行查询(但它是唯一运行的查询)并且还更改了池大小并正确地传输了记录。