我想知道如何计算在 MySQL 中使用 Explain 时扫描的总行数。我找不到任何官方提到的地方。我发现了一个示例,但我不明白为什么它对 UNION 查询使用乘法。
谢谢您的帮助。
我想知道如何计算在 MySQL 中使用 Explain 时扫描的总行数。我找不到任何官方提到的地方。我发现了一个示例,但我不明白为什么它对 UNION 查询使用乘法。
谢谢您的帮助。
您可以只执行查询,然后使用类似函数mysql_num_rows($queryResource)
或来自 DB 类(如 PDO 或 mysqli)的任何等效函数来确定EXPLAIN
查询返回的行数。
例如(使用原生的、旧的 PHP 函数,但你会明白的):
$rQuery = mysql_query('EXPLAIN SELECT table1.*, table2.some_field FROM table1 LEFT JOIN table2 ON table1.id = table2.fk_table1id');
$iNumRows = mysql_num_rows($rQuery);
echo $iNumRows; # will output 2