MySQL:"SELECT会检查超过MAX_JOIN_SIZE行"

12 mysql sql join

我正在使用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)

这真的是在一个巨大的数据集上执行吗?如果不是,这应该以不同的方式解决.