마리아 db , mysql database pagination 속도 향상 / MySQL, MariaDB 에서 pagination 을 위해 total count 를 얻을때
MySQL, MariaDB 에서 pagination 을 효과적으로 하는 법
Note
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:
SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name WHERE id > 100 LIMIT 10; SELECT FOUND_ROWS();
Use these queries instead:
SELECT * FROM tbl_name WHERE id > 100 LIMIT 10; SELECT COUNT(*) FROM tbl_name WHERE id > 100;
COUNT(*) is subject to certain optimizations. SQL_CALC_FOUND_ROWS causes some optimizations to be disabled.
위의 글에서는 pagination 의 속도를 높이는 몇가지 방법을 소개한다. 몇가지를 정리하면,
- id 를 같이 보내서, offset 보다 id 로 검색할 대상을 줄이는 방법
- 주변의 page 여러개를 같이 가져온다. 그렇게 미리미리 page 를 가져온다.
댓글 없음:
댓글 쓰기