Pregunta

¿Existe una manera eficiente de revisar los resultados de una consulta SOQL sin recuperar todos los resultados de la consulta y luego descartar la mayoría de ellos?

Como ejemplo, me gustaría poder revisar la lista completa de contactos mostrando 10 registros a la vez.No tengo la necesidad de ordenar por ningún campo en particular.

¿Fue útil?

Solución

Actualmente, la solución más eficiente que he encontrado que funcionará con cualquier consulta SOQL a través de la API asociada es conservar los sObjects devueltos por el QueryResult inicial y el localizador de consultas en caso de que se solicite una página fuera de los resultados actuales.

Esto requirió un nivel de soporte de paginación además de Salesforce QueryResult.

Es decir.Cuando se solicita una página, es posible que se requieran sObjects de:

  • El QueryResult actual (en caché)
  • Un QueryResult posterior que se puede recuperar utilizando el localizador de consultas
  • Un resultado de consulta anterior
  • Alguna combinación de los tres.

Si la página abarca dos (o más) QueryResults, será necesario crear un QueryResult artificial con todos los registros requeridos.

Actualización para la versión de primavera de 2012

Parece que habrá una nueva funcionalidad que agregará compatibilidad con OFFSET a SOQL.P.ej.

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

Ver Lanzamiento de la plataforma Force.com Spring '12: OFFSET agregado a SOQL (piloto)

Actualización para la versión de verano de 2012

OFFSET ahora es GA (¿Disponibilidad general?)

Otros consejos

se puede utilizar un número de auto-archivado hacer la paginación del lado del servidor. este campo se puede utilizar después de "orden por cláusula, puede actuar como un campo de índice.

He hecho la paginación como lo que lado. pero tengo otro problema, no puedo hacer una especie en el lado del servidor al mismo tiempo. porque especie y la paginación ambos necesitan agregar la columna después de 'pedido por' cláusula.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top