Engineering Note

[Server] Pagination 개념과 Pagination 에서 사용되는 용어, 페이지 시작 번호계산 방법 본문

Server

[Server] Pagination 개념과 Pagination 에서 사용되는 용어, 페이지 시작 번호계산 방법

Software Engineer Kim 2025. 9. 17. 16:02

Pagination 개념

- 웹사이트에서 데이터를 페이지별로 나누어서 표시하는 기술

 

Pagination 사용 이유

- 페이지네이션을 사용하는 이유는 크게 Engineering 관점에서 성능향상과 사용자 관점에서 사용자 경험 개선이 있다.

- 보통 데이터는 데이터베이스에 저장해두고 사용하는데 데이터베이스를 통해 대량의 데이터를 한 번에 요청하고 이를 다시 클라이언트로 전송하려면 네트워크를 많이 이용해야하고 그러면 결국 페이지 로딩 속도가 저하될 수밖에 없다. 그래서 페이지별로 데이터를 그룹화해서 원하는 만큼의 데이터를 요청하고 응답하면서 성능을 향상시킬 수 있다. 이렇게 되면 사용자가 페이지별로 원하는 데이터를 쉽게 탐색하고 검색할 수 있다.

 

Pagination에서 사용되는 용어

- page number : 데이터를 그룹화한 페이지 번호

- page size : 한 페이지에서 보여줄 데이터 수

- max page : 화면에서 페이지 보여줄 최대 페이지 번호수

- page index : 컴퓨터의 페이지 번호(0부터 시작), 컴퓨터는 0부터 번호를 인덱스로 계산하기 때문에 화면에 보여줄 때는 이 인덱스를 사용자가 계산하는 페이지번호로 변환해야 함

 

 

 

데이터 그룹화 개념 공식

페이지 번호 그룹화

 

페이지 번호 그룹화 과정과 최종 공식

- 페이지 번호 자체도 FE 입장에서는 하나의 데이터로 볼 수 있는데 이를 다시 그룹화 해서 화면에 표시할 수 있다.

- 현재 페이지 번호/최대 페이지 번호수*(화면에 보여줄 페이지 번호개수) = 현재 페이지 번호가 속하는 페이지 그룹 인덱스 번호 => 나눈다는건 그룹화로 나눈다는 걸 의미 ex) 현재 페이지가 2페이지고, 화면에 최대보여줄 페이지 번호개수가 5일 때, 2페이지의 그룹화 인덱스는 0이다.

- 현재 그룹인덱스에서 보여줄 첫 번째 번호와 마지막 번호 구하기 => (페이지 번호 그룹화 인덱스 번)*화면에 보여줄 페이지 번호 개수 + 1

 

 

FE 페이지네이션에서 사용할 최종 공식 정리

start page = (page number/max page)*(max page) + 1

end = start page + (max page - 1)

Comments