-
ROWNUM함수가 없는 Mysql에서 페이지네이션 구현MYSQL 2019. 3. 13. 10:55
SELECT *
FROM (SELECT @rnum := @rnum + 1 AS rownum,
testdb.*
FROM ( SELECT @rnum := 0) r,
testdb
ORDER BY idx DESC) result
WHERE rownum BETWEEN (1 + ( 1 - 1 ) * 10) AND ( 1 * 10 )
위의 경우는 페이지 사이즈가 10일 경우의 예제이다
페이지 사이즈가 1 ~ 11 ~ 21 이렇게 10을 공차로 진행되기 때문에
등차수열 공식에 따라
F(x) = a1(초기값 + (n-1)d(공차)
를 이용하여 1 + (n-1) * 10 이 된다.
또는 LIMIT 을 이용하여 페이지네이션이 가능하다
[MYSQL LIMIT을 이용한 페이지네이션 ]
SELECT *
FROM testdb
ORDER BY IDX DESC
LIMIT 0, 10
성능은 LIMIT으로 하는게 더 좋다고 한다
그러나 LIMIT 으로 할 경우 자바단에서 LIMIT 에 첫번째 파라미터에 들어갈 값을 처리해줘야한다.
LIMIT 0 , 10 -------> 0번째 인덱스부터 10개 가져오는것
LIMIT 10, 10 --------> 10번쨰 인덱스부터 10개 가져오는것
'MYSQL' 카테고리의 다른 글
Mysql Workbench 블랙 테마 적용 방법 (1) 2019.03.14