답변:
페이지 매김을 수행하는 데는 여러 가지 이유가 있으며 서버로드를 줄이는 것이 하나에 불과합니다. 그러나 Stephen Orr 는 유효한 포인트를 제기합니다. 여전히 데이터 양을 먼저 찾아야합니다. 당신이 있는지 확인해야합니다 그 쿼리가 신속하고 과도하게 서버를로드하지 않습니다.
다른 이유는 다음과 같습니다.
이 두 가지 경우 모두 사용자가 보지 않을 데이터 또는 일부 데이터를 처리하여 데이터를 가져올 수있는 모든 데이터를 기다리는 것을 원하지 않습니다.
구현에 따라 다릅니다.
페이지 렌더링 속도가 빨라지지만 반드시 서버의로드를 줄일 필요는 없습니다. 대부분의 순진한 페이지 매김 알고리즘은 먼저 쿼리를 수행하여 페이지 수를 결정한 다음 다시 쿼리하여 "페이징 된"결과 집합을 가져와야합니다.
페이지 매김을 통해 얻을 수있는 가장 큰 가치는 다음을 통해 애플리케이션 속도를 향상시키는 것입니다.
1-클라이언트와 서버간에 전송되는 데이터 제한. 사용자가 10 명을 찾으면 1000000 명의 고객을 읽을 필요가 없습니다.
2- 사용자의 관점에 맞는 행만 검색하여 쿼리 성능을 크게 향상시킵니다. 사용자가 처음 10 명의 고객을 볼 경우 1000000 명의 고객을 읽을 필요는 없습니다.
3-페이지 매김은보다 신선한 데이터를 제공함으로써 도움이됩니다. 응용 프로그램에 많은 데이터 행이 표시되고 응용 프로그램 도메인에 표시된 표의 데이터 행을 많이 업데이트해야하는 경우 페이지 목록의 20 페이지로 이동하면 일부 행의 데이터가 손상되었을 수 있습니다. 변경되었습니다. 호텔의 주가 또는 사용 가능한 객실을 읽는 응용 프로그램을 생각해보십시오. 오래된 데이터를 검색하여 클라이언트에 배치하는 것은 아무 소용이 없습니다.
페이지 매김은 필터링과 결합하여 최종 사용자가 특정 시나리오에서 요구하는 방식 (이 요구를 충족시키기 위해 우수한 설계로 이어질 것으로 예상 됨)이 여러 사용자가 데이터베이스에 도달 할 때 응용 프로그램을 크게 향상시키는 방법에 대한 이해입니다. 동시에.
페이지 매김이 프로그램에 항상 쉬운 것은 아닙니다. 경우에 따라 단순하지만 쓰기가 매우 복잡하여 전체 테이블 스캔을 수행하지 않고 SQL 쿼리를 실행할 수 있습니다. 이것은 물론 인덱스, 필터 조건 및 Where 문에 따라 다릅니다.
페이지 매김은 모든 조기 최적화의 어머니입니다. 페이지 매김없이 사이트를 작성해도됩니다.
릴리스 후 한 번의 호출로 너무 많은 데이터를로드하거나 사용자가 원하지 않는 데이터를 바쁘기 때문에 원하는 정보를 기다려야하는 경우 Ajax 솔루션을 작성하십시오. 사람들이 아래로 스크롤 할 때만 페이지를로드합니다 (Twitter, Tumblr, Google 이미지 검색 참조).
편집 : 위의 두 번째 단락은 일반적인 반응은 "그러나 어떤 시점에서 페이지 매김을 알고 있다는 것을 알고 있다면 던질 무언가를 개발하는 데 시간을 낭비하지 않고 조기에 처리 할 수도 있다는 가정하에 작성되었습니다. 떨어져."
모든 조기 최적화의 어머니 일뿐 만 아니라 페이지 매김은 UX의 악몽 이며 전체 페이지 위에 많은 추가 개발이 필요하지 않은 더 나은 솔루션 이 있다고 생각합니다 .
다운 보트 수가 많음에도 불구하고이 답변을 남기고 싶습니다. 비록 그것이 최고의 글이 아니 었더라도 감정에 의지하기 때문입니다.