문제

모든 쿼리 결과를 다시 가져온 다음 대부분의 쿼리 결과를 버리지 않고 SOQL 쿼리의 결과를 통해 페이지를 페이지에 효율적으로하는 방법이 있습니까?

예를 들어, 한 번에 10 개의 레코드를 보여주는 연락처의 전체 목록을 통해 페이지를 페이지에 넣을 수 있기를 원합니다. 특정 필드를 분류 할 필요가 없습니다.

도움이 되었습니까?

해결책

현재 파트너 API를 통해 SOQL 쿼리와 함께 작동하는 가장 효율적인 솔루션은 초기 쿼리로부터 반환 된 SOBJEcts를 지속적으로 유지하는 것입니다.

이를 위해서는 Salesforce QueryResult 위에 페이징 지원 수준이 필요했습니다.

즉, 페이지가 요청되면 sobjects가 필요할 수 있습니다.

  • 현재 (캐시 된) QueryResult
  • 쿼리 로케이터를 사용하여 가져올 수있는 후속 쿼리 리그
  • 사전 쿼리
  • 세 가지 모두의 조합.

페이지가 두 개 (또는 그 이상) QueryResults에 걸쳐있는 경우 모든 필요한 레코드와 함께 인공 쿼리 리트를 만들어야합니다.

봄 2012 릴리스 업데이트

SOQL에 오프셋 지원을 추가 할 새로운 기능이 나오는 것 같습니다. 예를 들어

SELECT Name FROM Merchandise__c WHERE Price__c > 5.0 ORDER BY Name LIMIT 50 OFFSET 100

보다 Spring '12 Force.com 플랫폼 릴리스 -SOQL에 추가 된 오프셋 (파일럿)

2012 년 여름 릴리스 업데이트

오프셋은 이제 GA입니다 (일반 가용성?)

다른 팁

서버 측에서 페이지 매김을하기 위해 자동 너버를 사용하여 출원을 할 수 있습니다. 이 필드는 'Order by'clause 후에 사용할 수 있으며 색인 필드 역할을 할 수 있습니다.

나는 당신의 편과 같은 페이지 매김을했습니다. 그러나 나는 또 다른 문제가 생겼습니다. 동시에 서버 쪽에서 정렬 할 수 없습니다. 정렬과 페이지 매김은 '주문에 의해'후에 열을 추가해야하기 때문입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top