MySQL のページネーション: ダブルクエリのジレンマの探索
データ プレゼンテーションの重要な側面であるページネーションには、データの有限のサブセットの表示が含まれます。大規模なデータセットを処理しながら、セット全体を簡単にナビゲートできます。 MySQL では、ページネーションは通常 2 つのクエリを使用して実装されます。1 つは結果の総数を決定するクエリ、もう 1 つはデータの特定のページを取得するクエリです。
例:
-- Query 1: Count the number of rows SELECT COUNT(*) FROM `table` WHERE `some_condition`; -- Query 2: Retrieve the desired page SELECT `fields` FROM `table` WHERE `some_condition` LIMIT 0, 10;
簡単に言えば、このアプローチには 2 つの別々のクエリの実行が含まれるため、データベースのオーバーヘッドが増加します。
単一クエリのソリューション?
質問が生じます: 単一の MySQL クエリで合計数と限定された結果の両方を取得する方法はありますか?
答え:いいえ、不可能です
提供された応答が示すように、単一のメソッドを使用してページネーションを実現する直接的な方法はありません。 MySQLクエリ。カウントとそれに続く制限されたデータの取得は、別のクエリで実行する必要があります。
代替アプローチ:
結論として、MySQL のページネーションには通常 2 つのクエリが必要です。キャッシュなどの最適化手法や SQL_CALC_FOUND_ROWS メソッドの慎重な検討により、パフォーマンスと効率を向上させることができます。
以上がMySQL ページネーション: 単一のクエリで合計数とページ データを取得できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。