質問: count(A); echo '前' . $all . '件'; foreach(B as $line => $column){ ・・・ } ``` といったような処理になります。
回答: ``` SELECT SQL_CALC_FOUND_ROWS カラム FROM テーブル名 WHERE 条件式 LIMIT 0, 20; ``` のあとで ``` SELECT FOUND_ROWS; ``` という代替手段もありますが、 **いずれにしてもクエリを2回実行することに変わりはありません** 。 `SQL_CALC_FOUND_ROWS` は MySQL のみの拡張機能なので、他のSQLでは利用できません。 また、MySQLだからと言って積極的に利用できるものかというとそうでもない。 データ数が多くなるとパフォーマンス低下が著しい。 ページングのためには、クエリを2回発行するのは、致し方ありません。他に方法はないです。