지난 프로젝트에서 게시판 페이징을 뒷단에서 구현하지 않고 앞단에서 구현했었습니다.
개발 시점과 테스트시에는 아무런 문제가 없었지만 유저가 유입되고
게시글이 많이 쌓이게 되면 성능에 문제가 발생할 것이 분명합니다.(사실 말도 안 되는 개발쇼를 했던 것이다...)
리팩토링을 위해 MySQL 페이징 처리 관련 학습한 것을 정리합니다.
MySQL 페이징은 LIMIT과 OFFSET으로!
LIMIT : 가져올 개수
OFFSET : 가져오는 시작점(기입된 숫자보다 +1된 행부터 가져옵니다.)
SELECT * FROM post LIMIT 10 OFFSET 0; #(1번째부터 10개를 가져옵니다.)
SELECT * FROM post LIMIT 5 OFFSET 2; #(3번째부터 5개를 가져옵니다.)
OFFSET을 사용하지 않고 LIMIT만으로도 가능합니다.
SELECT * FROM test_post LIMIT 0, 10; #(1번째부터 10개를 가져옵니다.)
SELECT * FROM test_post LIMIT 2, 5; #(3번째부터 5개를 가져옵니다.)
참고자료
댓글