SQL_CALC_FOUND_ROWS

SQL_CALC_FOUND_ROWS は, FOUND_ROWS と組み合わせることでLIMITを除き実際は何件なのかを表示してくれる.

SELECT SQL_CALC_FOUND_ROWS `table`.`column`, `table2`.`column`, `table2`.`column2` FROM (`table`) JOIN `table2` limit 100;
// この時点で実行すると, 結果を100件表示するのみ.
SELECT FOUND_ROWS();
// 結果: 13472398


SQL_CALC_FOUND_ROWS は全行 COUNT するので、件数が増えるごとに処理が重くなるので注意が必要.

5.6でバグがあった模様.