PHP で複数の MySQL クエリを同時に実行する
一度に複数のクエリを実行すると、PHP/MYSQL アプリケーションの効率が向上し、パフォーマンスが最適化されます。同時に実行する可能性がある次の 2 つのクエリを考慮してください:
SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10; SELECT FOUND_ROWS();
クエリ結果の処理
ただし、PHP の mysql-api は複数のクエリの実行を直接サポートしていません。単一のステートメントでクエリを実行する場合は、別のアプローチを使用してこれを実現できます。 1 つの方法は、mysqli 拡張機能を利用することです。
$mysqli = new mysqli("localhost", "user", "password", "database_name"); $mysqli->multi_query("SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10; SELECT FOUND_ROWS();"); do { if ($res = $mysqli->use_result()) { while ($row = $res->fetch_array()) { // Handle query 1 results } $res->free(); } if ($mysqli->errno) { break; } } while ($mysqli->more_results());
このアプローチでは、use_result() メソッドを使用して個々のクエリの結果を取得できます。あるいは、store_result() メソッドを使用して、すべての結果を 1 つのバッファに保存し、後でアクセスすることもできます。
その他の考慮事項
mysql_ を使用することに注意してください。 -class の関数は非推奨であり、PDO (PHP データ オブジェクト) を使用する方法が推奨されます。 PDO は、データベースと対話するための、より標準化された安全なインターフェイスを提供します。
結論
上で概説した方法を採用することで、1 回の試行で複数の MySQL クエリを効果的に実行できます。 PHP/MYSQLで。これにより、特に相互接続されているクエリや、複数のテーブルからの即時結果が必要なクエリを処理する場合に、効率が向上し、コードが簡素化されます。
以上がPHP で複数の MySQL クエリを同時に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。