我正在使用PHP和MySQL.在我的程序中有一个涉及连接的选择查询.当我在localhost上运行它时工作正常,但是当我将它上传到我的服务器上并尝试执行它时会产生以下错误:
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
我怎么能纠正这个?
小智 21
使用PHP时,应在主查询之前在单独的查询中设置SQL_BIG_SELECTS = 1.例如:
$mysqli = new mysqli("localhost", "root", "password", "db");
$mysqli->query("SET SQL_BIG_SELECTS=1"); //Set it before your main query
$results = $mysqli->query("SELECT a, b, c FROM test");
while($row = $results->fetch_assoc()){
echo '<pre>';
print_r ($row);
echo '</pre>';
}
Run Code Online (Sandbox Code Playgroud)
Vin*_*vic 11
尝试在先执行您的选择时作为查询运行:
SET SQL_BIG_SELECTS=1
Run Code Online (Sandbox Code Playgroud)
这真的是在一个巨大的数据集上执行吗?如果不是,这应该以不同的方式解决.