320x100
대량의 데이터를 불러올 때 한 번에 불러오면 부하가 크기 때문에 게시판 같은 곳에서도 전부 페이징 처리를 해서 데이터를 소량씩 불러온다.
테이블에서 불러올 데이터의 양을 정해주기 위해 쿼리에 LIMIT을 걸 수 있는데 사용법은 다음과 같다.
IN PAGE_NUM AS INT
,IN COUNT_PER_PAGE AS INT;
SELECT * FROM TABLE_NAME ORDER BY PK ASC LIMIT COUNT_PER_PAGE OFFSET (PAGE_NUM * COUNT_PER_PAGE)
여기서 LIMIT은 가져올 데이터 수, OFFSET은 어디서 부터 가져올건지 정하는 수치다.
대략 페이지 번호와 페이지 당 갯수를 예시처럼 파라미터로 받던지 SP 내부에 정해놓고 페이지만큼 OFFSET을 설정해 원하는 만큼의 데이터를 가져오면 된다.
위의 쿼리를 다음과 같은 방법으로도 작성 가능하다.
IN PAGE_NUM AS INT
,IN COUNT_PER_PAGE AS INT;
SELECT * FROM TABLE_NAME ORDER BY PK ASC LIMIT COUNT_PER_PAGE, (PAGE_NUM * COUNT_PER_PAGE)
예시들은 그냥 작성하고 문법에 맞는지 검사하지 않았기 때문에 오류가 난다면 알아서 수정해서 쓰자.
320x100
'DB > MYSQL' 카테고리의 다른 글
인코딩 설정 관련 설정 (0) | 2021.10.11 |
---|---|
스케줄러 사용 (0) | 2021.10.07 |
[펌] MyISAM와 InnoDB 비교 (0) | 2021.10.07 |
commands out of sync you can't run this command now (0) | 2021.10.07 |
MYSQL을 위한 GUI 툴 (0) | 2021.10.05 |