对超过1m条记录的表的Sql查询被服务器中断


Sql query interrupted by server for a table with over 1m records?

我在Magento中创建了一个网站,里面有大约1120个产品。

当我选择内置Magento菜单选项:Reports -> Products -> Most Viewed,然后输入日期范围并选择"Show By"= [Day]时,我得到一个超时错误。但是相同的报告,但其中"Show By"=[月]和"Show By"=[年],运行完成并生成报告。

经过调查,我发现表[Report_Event]有超过100万条记录。当我试图在PHPMyAdmin中运行相同的查询时,我得到消息:"SQL查询被服务器中断"。

有人遇到过这个错误吗?是否存在需要应用的解决方案或设置?

尝试增加服务器或脚本的max_execution_time。要为服务器做到这一点,请更改php.ini中相应的参数。要在脚本中执行此操作,请使用ini_set(max_execution_time,$amount),其中$amount允许脚本以秒为单位执行。如果您想测试它需要多长时间,请使用ini_set(max_execution_time,0)。这里有几个很好的答案-使用ini_set('max_execution_time', 0)

对于Magento,尝试将ini_set(max_execution_time,$amount)放在index.php的开头