当运行从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
答案 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。很好理解参数的效果。也许您的初始选择未针对所需结果进行优化。只是一个额外的想法。