MySQL のオフセットと制限を使用した合計結果数の決定
オフセットと制限を使用してページネーションを実装する場合、結果の合計数を決定することが重要です必要なページ数を計算します。クエリを 2 回 (LIMIT ありとなしで 1 回) 実行するのは冗長に見えるかもしれませんが、より良い方法があります。
MySQL では、SQL_CALC_FOUND_ROWS を使用して追加のクエリを行わずに結果の総数を取得する方法が提供されています。このキーワードをメイン クエリの前に追加すると、MySQL は LIMIT 句がなければ返される行の総数を計算します。
例を次に示します。
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM directory_listing WHERE category_id = <category_id> LIMIT offset, limit;</code>
このクエリを実行した後、次のコードを使用して、結果の合計数を取得できます:
$query = $this->db->query('SELECT FOUND_ROWS() AS total_count;'); $total_count = $query->first_row()->total_count;
このアプローチにより、追加のクエリを実行せずに合計数を効率的に取得できます。 SQL_CALC_FOUND_ROWS を利用すると、ページネーション機能のパフォーマンスとリソース使用率を向上させることができます。
以上がオフセットと制限を使用して MySQL の合計結果数を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。