사이트를 만들다보면 무조건 최소 한번은 Paging 을 처리해야하는 화면이 있다.
이때 사용할 수 있는 방법은 Back-End 에서 데이터를 모두 불러와서 원하는 부분만 잘라서 보여주거나
(거의 쓰이지 않음)
DB 에서 Select 할 때 원하는 부분만 가져오는 방법이 있다. DB 에서 처리하는 방법이 가장 많이 쓰이고 바람직하다.
Oracle 에서는 이걸 rownum 을 사용해서 처리하는데 이 방법은 쌓여있는 데이터가 많아지면 속도가 다소 느려진다.
Mysql 에서는 Limit 과 offset 을 제공하여 훨씬 빠르게 원하는 위치에서 원하는 만큼의 데이터를 가져올 수 있다.
쿼리는 아래와 같다.
SELECT *
FROM dbtable
WHERE status = 'Y'
ORDER BY CODE
LIMIT 20 OFFSET 0
맨 마지막에 Limit 과 offset 이 중요하다.
Limit 은 가져올 데이터 양
offset 은 가져올 데이터의 초기 위치값이다.
즉, 0(처음) 에서부터 20건의 데이터를 가지고 오라는 의미이다.
Paging 을 하기위해서 0 부분을 변수로 지정하여
페이지를 이동할때마다 해당 페이지의 offset 값을 계산하여 지정해주면 된다.
'일하딩 > Mysql' 카테고리의 다른 글
[Mysql] 문자열 찾기, 원하는 순서 정렬 - FIND_IN_SET (0) | 2021.02.08 |
---|---|
[Mysql] 문자열 찾기, 원하는 순서로 정렬 - FIELD 함수 (0) | 2021.02.05 |
[Mysql] Insert 대량으로 하는 방법. (mybatis 에서도) (0) | 2020.11.11 |
[Mysql] Merge 하는 방법 (0) | 2020.07.11 |
댓글