ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.