2012-11-02 2 views
1

매우 많은 양의 데이터를 페이지 매김해야하는 레일즈 3 프로젝트를 작업 중입니다. 실적을 극대화하기 위해 대량의 데이터 (예 : 포럼 게시물)에 페이지를 매기는 적절한 방법은 무엇입니까? 컬렉션에서 10 개 모델 만 가져오고 다음 페이지로 갈 때 다시 가져 오는 경우 서버에 너무 많은 작업량이 필요합니까? 아니면 그냥 모든 것을로드하고 자바 스크립트를 사용하여 페이지 매기기를하는 것이 더 낫겠습니까?많은 양의 데이터를 페이지 매기기하는 적절한 방법

답변

5

는 SQL 솔루션을 찾고 있습니다 가정 :

당기 (10) 객체가됩니다 것은 서버 부하에 대한 문제가되지 않습니다. 문제는 필터링을 위해 사용하는 쿼리입니다. 단순 기본 키를 필터링하거나 다른 효율적인 식별자를 사용하는 경우에는 완전히 기본 설정이어야합니다. 단순히 한 페이지 씩 (그리고 각 페이지 당 10 개의 항목) 순차적으로 나열하고 싶다면 문제가 없습니다. 반드시 필요한 열을 가져 오십시오 (선택하면 불필요한 열을 피할 수 있습니다).

will_paginate 또는 kaminari을 페이지 매김에 사용할 수 있습니다. 수집 크기에 관계없이 필요한 레코드 만 가져옵니다 (각 페이지에서 가져올 오브젝트의 수).

kaminari

레일 3

will_paginate

매김 레일에 대한 라이브러리 3,시나, Merb는, DataMapper, 그리고 더

에 대한 범위 & 엔진을 기반으로, 깨끗하고 강력한 사용자 정의하고 세련된 매기기
+0

+1 카미나리와 will_paginate에 대해 제안 할 두 가지 : – sevenseacat

+2

+1 카미나리, will_pagina는 오랜 시간 동안 업데이트되지 않았습니다 – Avdept

+0

제안 해 주셔서 감사합니다! – Edward

관련 문제