MySQL クエリによって返される行数を確認する方法
MySQL クエリの領域では、多くの場合、特定のクエリによって生成される行の数。この数は、結果セットのサイズと内容についての貴重な洞察を提供します。これを実現するためのさまざまな方法を検討してみましょう。
反復行カウント
簡単なアプローチは、結果の行を反復してカウンターをインクリメントすることですが、この方法は非効率的である可能性があります。
mysql_num_rows() 関数
MySQL クライアント ライブラリを使用する場合、mysql_num_rows() 関数は、データセット内の行数を取得する直接的な方法を提供します。結果セット。 PHP での同等の機能は mysqli_num_rows() です。
COUNT(*) 関数
特定の基準に一致する行数をカウントするには、以下の COUNT(*) 関数を使用します。クエリ。例:
<code class="sql">SELECT COUNT(*) FROM foo WHERE bar= 'value';</code>
SQL_CALC_FOUND_ROWS および FOUND_ROWS()
LIMIT 句を使用するクエリの合計行数を確認するには、最初のクエリで SQL_CALC_FOUND_ROWS を使用します。 by SELECT FOUND_ROWS():
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM foo WHERE bar="value" LIMIT 10; SELECT FOUND_ROWS();</code>
追加の考慮事項
大きなテーブルを扱う場合、SQL_CALC_FOUND_ROWS の使用は非効率となる可能性があります。このような場合は、個別のカウント クエリを実行し、将来の参照のために結果をキャッシュすることを検討してください。
SQL_CALC_FOUND_ROWS の非推奨
MySQL バージョン 8.0.17 以降、SQL_CALC_FOUND_ROWS 関数はは非推奨であり、将来のバージョンでは削除される予定です。推奨されるアプローチは、別のクエリを発行して行数を計算することです。
以上がMySQL クエリによって返される行の数はどのように確認しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。