개발/DataBase

[MySQL] 페이징 처리하기

이쪽저쪽살짝 2023. 4. 2. 11:57
반응형

·MySQL에서 페이징 처리하는 방법을 상세히 설명드리겠습니다. 페이징 처리는 데이터를 손쉽게 네비게이션 할 수 있도록 일정한 갯수로 나누어 보여주는 것을 의미합니다. 웹 페이지나 애플리케이션에서 리스트를 표시할 때 흔히 사용됩니다.

 

1. 페이징 처리의 기본 개념
페이징 처리를 할 때, 일반적으로 다음과 같은 정보가 필요합니다.

· 현재 페이지 번호
· 페이지 당 데이터 수
· 전체 데이터 수
· 총 페이지 수


이를 고려하여 MySQL에서 페이징 처리를 구현해 봅시다.

2. LIMIT 및 OFFSET을 사용한 페이징 처리
MySQL에서 페이징 처리를 구현하는 가장 간단한 방법은 LIMIT과 OFFSET 구문을 사용하는 것입니다. 다음 쿼리를 살펴보겠습니다.

 

SELECT * FROM table_name
LIMIT page_size OFFSET (current_page - 1) * page_size;

예를 들어, 현재 페이지 번호가 2이고 페이지 당 데이터 수가 10개라고 가정해 보겠습니다.

SELECT * FROM table_name
LIMIT 10 OFFSET (2 - 1) * 10;

위 쿼리는 결과의 11번째부터 20번째 데이터를 반환합니다.

3. 전체 데이터 수 및 총 페이지 수 구하기
페이징 처리를 구현하려면 전체 데이터 수와 총 페이지 수를 알아야 합니다. 전체 데이터 수를 구하는 방법은 다음과 같습니다.

SELECT COUNT(*) FROM table_name;

전체 데이터 수를 구한 뒤, 페이지 당 데이터 수로 나누어 총 페이지 수를 계산할 수 있습니다. 총 페이지 수는 다음과 같이 계산할 수 있습니다.

total_pages = ceil(total_records / page_size)

4. 페이징 처리를 위한 간단한 예제
다음은 페이징 처리를 위한 간단한 예제입니다. 이 예제에서는 현재 페이지 번호가 2이고 페이지 당 데이터 수가 10개라고 가정합니다.

-- 전체 데이터 수 구하기
SELECT COUNT(*) FROM table_name;

-- 페이징 처리된 데이터 조회하기
SELECT * FROM table_name
LIMIT 10 OFFSET (2 - 1) * 10;

MySQL에서 페이징 처리하는 방법을 자세히 알아보았습니다. 이제 웹 페이지나 애플리케이션에서 데이터를 효율적으로 표시할 수 있습니다.

반응형

'개발 > DataBase' 카테고리의 다른 글

[ MariaDB] COALESCE 기능  (1) 2023.04.25
MyBatis 에서 <if> 사용하기: 조건에 따른 동적 쿼리 작성법  (0) 2023.04.08
CRUD란?  (0) 2023.04.04
[Oracle] Paging 처리하기  (0) 2023.04.02