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