2284 Information Functions • FOUND_ROWS() The  SQL_CALC_FOUND_ROWS  query modifier and accompanying  FOUND_ROWS() function are deprecated as of MySQL 8.0.17; expect them to be removed in a future version of MySQL. As a replacement, considering executing your query with  LIMIT , and then a second query with  COUNT(*)  and without  LIMIT  to determine whether there are additional rows. For example, instead of these queries: Use these queries instead: COUNT(*)  is subject to certain optimizations.  SQL_CALC_FOUND_ROWS  causes some optimizations to be disabled. A  SELECT  statement may include a  LIMIT  clause to restrict the number of rows the server returns to the client. In some cases, it is desirable to know how many rows the statement would have returned without the  LIMIT , but without running the statement again. To obtain this row count, include an SQL_CALC_FOUND_ROWS  option in the  SELECT  statement, and then invoke  FOUND_ROWS()  afterward: The second  SELECT  returns a number indicating how many rows the first  SELECT  would have returned had it been written without the  LIMIT  clause. In the absence of the  SQL_CALC_FOUND_ROWS  option in the most recent successful  SELECT  statement, FOUND_ROWS()  returns the number of rows in the result set returned by that statement. If the statement includes a  LIMIT  clause,  FOUND_ROWS()  returns the number of rows up to the limit. For example, FOUND_ROWS()  returns 10 or 60, respectively, if the statement includes  LIMIT 10  or  LIMIT 50, 10 . The row count available through  FOUND_ROWS()  is transient and not intended to be available past the statement following the  SELECT SQL_CALC_FOUND_ROWS  statement. If you need to refer to the value later, save it: If you are using  SELECT SQL_CALC_FOUND_ROWS , MySQL must calculate how many rows are in the full result set. However, this is faster than running the query again without  LIMIT , because the result set need not be sent to the client. SQL_CALC_FOUND_ROWS  and  FOUND_ROWS()  can be useful in situations when you want to restrict the number of rows that a query returns, but also determine the number of rows in the full result set without running the query again. An example is a Web script that presents a paged display containing links to mysql>  SELECT SQL_CALC_FOUND_ROWS * FROM ... ; mysql>  SET @rows = FOUND_ROWS(); mysql>  SELECT SQL_CALC_FOUND_ROWS * FROM  tbl_name ->  WHERE id > 100 LIMIT 10; mysql>  SELECT FOUND_ROWS(); SELECT * FROM  tbl_name  WHERE id > 100 LIMIT 10; SELECT COUNT(*) FROM  tbl_name  WHERE id > 100; SELECT SQL_CALC_FOUND_ROWS * FROM  tbl_name  WHERE id > 100 LIMIT 10; SELECT FOUND_ROWS(); Note