パフォーマンスの比較: SQL_CALC_FOUND_ROWS と SELECT COUNT(*)
ページネーションを使用してクエリ内のレコードの合計数を求める場合、2 SQL_CALC_FOUND_ROWS および SELECT COUNT(*) というメソッドが出現します。最適なアプローチの決定は、さまざまな要因に左右されます。
方法 1: SQL_CALC_FOUND_ROWS
この方法では、最初の SELECT クエリで SQL_CALC_FOUND_ROWS を使用し、その後 FOUND_ROWS() を使用して合計を取得します。行数。構文は次のとおりです。
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE id > 100 LIMIT 10; SELECT FOUND_ROWS();
方法 2: SELECT COUNT(*)
または、別のクエリで SELECT COUNT(*) を使用して行をカウントします。元のクエリを実行した後。構文は次のとおりです。
SELECT * FROM table WHERE id > 100 LIMIT 10; SELECT COUNT(*) FROM table WHERE id > 100;
パフォーマンス評価
各メソッドのパフォーマンスは、インデックスの可用性やクエリの複雑さなどの要因に基づいて異なります。 MySQL パフォーマンス ブログによる包括的な分析の 1 つでは、
最終的には、理想的なアプローチは、特定のコンテキストとアプリケーションの要件によって異なります。パフォーマンス ブログの投稿にあるように、「インデックスやその他の要因によって異なります。」
以上がSQL_CALC_FOUND_ROWS と SELECT COUNT(*): ページネーションはどちらが速いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。