SELECT将检查多于MAX_JOIN_SIZE行

时间:2013-10-11 11:23:33

标签: mysql codeigniter

当运行从3个大表中连接数据的查询时,我收到的错误是

   The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay  

2 个答案:

答案 0 :(得分:9)

您只需发出包含SET命令的查询:

 $this->db->query('SET SQL_BIG_SELECTS=1'); 

答案 1 :(得分:3)

好像你需要大选。正如Faizan所说,您可以在配置文件中设置SQL_BIG_SELECTS = 1或在活动会话中定义全局变量(不需要重新启动服务)。

另外,请查看此文档。 http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_join_size。很好理解参数的效果。也许您的初始选择未针对所需结果进行优化。只是一个额外的想法。