2.2に組み込まれているページネーション機能があり、探しているものと同様のことを行います。
しかし、私はそれがSQL_CALC_FOUND_ROWS
を使用しているとは思わない :結果を取得するために2つ(または構成方法によっては3つ)の個別のクエリを実行します。これが正しい方法であることがよくあります。
MySQL機能の使用を本当に主張する場合は、生のSQLと結果セットのマッピングを使用する必要があると思います。次に例を示します:
完全に別のメモで、SQL_CALC_FOUND_ROWS
かどうかをテストします 実際には、特定のクエリに使用する価値があります。カウントは、MySQLで、実行しているようなクエリ用に最適化されています。特にこの質問を参照してください:
どちらが最速ですか? SELECT SQL_CALC_FOUND_ROWS FROM `table`、またはSELECT COUNT(*)