为什么这个查询拒绝在我的主MySQL服务器上完成?

为什么这个查询拒绝在我的主MySQL服务器上完成?,mysql,Mysql,所以,在我的工作中,我们有一个主机和一个从机进行复制,我们有一个跟踪表,它会被敲打,有很多带有“ON DUPLICATE KEY UPDATE”子句的插入。该表是InnoDB,因此它锁定在行级别。我有一个查询,它从当前正在写入的东西中选择数据,但它在主设备和从设备上的行为不同,即在主设备上它永远不会完成,在从设备上它会立即完成,我想知道为什么 我可以理解,查询在处理正在更新的易失性行时会出现问题,但在从机上也会出现这种情况,尽管是以更固定的时间间隔 SELECT SUM(hits) AS hit

所以,在我的工作中,我们有一个主机和一个从机进行复制,我们有一个跟踪表,它会被敲打,有很多带有“ON DUPLICATE KEY UPDATE”子句的插入。该表是InnoDB,因此它锁定在行级别。我有一个查询,它从当前正在写入的东西中选择数据,但它在主设备和从设备上的行为不同,即在主设备上它永远不会完成,在从设备上它会立即完成,我想知道为什么

我可以理解,查询在处理正在更新的易失性行时会出现问题,但在从机上也会出现这种情况,尽管是以更固定的时间间隔

SELECT SUM(hits) AS hits, DATE(`when`) AS thedate
FROM tracking tr
WHERE tr.geo_country IN('FR') 
AND tr.`when` BETWEEN '2013-08-23 00:00:00' AND '2013-08-23 23:59:59'
GROUP BY thedate

这两台服务器上都没有发生锁定,只是在显示processlist无法看到的单行上发生锁定。

您是说在主服务器上,查询挂起?超时?运行查询的线程的processlist中有什么?表shema如何?请提供一些示例数据和重复键更新查询的
示例。为什么没有一些有意义的非保留名称