Compartir a través de


OFFSET LIMIT (consulta NoSQL)

SE APLICA A: NoSQL

La cláusula OFFSET LIMIT es una cláusula opcional para omitir y luego tomar cierto número de valores de la consulta. El recuento de OFFSET y el recuento de LIMIT son necesarios en la cláusula OFFSET LIMIT.

Cuando OFFSET LIMIT se usa junto con una cláusula ORDER BY, el conjunto de resultados se genera mediante una operación Skip y Take en los valores ordenados. Si no se usa ninguna cláusula ORDER BY, se produce un orden determinista de valores.

Sintaxis

OFFSET <offset_amount> LIMIT <limit_amount>

Argumentos

Descripción
<offset_amount> Especifica el número entero de elementos que los resultados de la consulta deben omitir.
<limit_amount> Especifica el número entero de elementos que los resultados de la consulta deben incluir.

Ejemplos

Para el ejemplo de esta sección, se usa este conjunto de referencia de elementos. Cada elemento incluye una propiedad name.

[
  {
    "name": "Sawyer Miller",
  },
  {
    "name": "Jennifer Wilkins",
  },
  {
    "name": "Hannah Haynes",
  },
  {
    "name": "Isaac Talbot",
  },
  {
    "name": "Riley Johnson",
  }
]

En este ejemplo se incluye una consulta mediante la cláusula OFFSET LIMIT para devolver un subconjunto de los elementos coincidentes omitiendo un elemento y tomando los tres siguientes.

SELECT VALUE {
    name: e.name
}
FROM
    employees e
ORDER BY
    e.name
OFFSET 1 LIMIT 3
[
  {
    "name": "Isaac Talbot"
  },
  {
    "name": "Jennifer Wilkins"
  },
  {
    "name": "Riley Johnson"
  }
]

Observaciones

  • Se necesitan los valores de OFFSET y LIMIT en la cláusula OFFSET LIMIT. Si se usa una cláusula ORDER BY opcional, se genera el conjunto de resultados mediante la omisión de los valores ordenados. En caso contrario, la consulta devuelve un orden fijo de valores.
  • El cargo por RU de una consulta con OFFSET LIMIT aumenta a medida que aumente el número de términos que se van a desplazar. En el caso de las consultas que tienen varias páginas de resultados, normalmente se recomienda usar tokens de continuación. Los tokens de continuación son un "marcador" del lugar donde se puede reanudar la consulta más adelante. Si usa OFFSET LIMIT, no hay un “marcador”. Si desea devolver la página siguiente de la consulta, tendría que empezar desde el principio.
  • Debe usar OFFSET LIMIT para los casos en los que quiera omitir elementos completamente y guardar los recursos del cliente. Por ejemplo, use OFFSET LIMIT si desea ir al resultado número 1000 de la consulta y no necesita ver los resultados 1 a 999. En el back-end, OFFSET LIMIT sigue cargando todos los elementos, incluidos los que se omiten. La ventaja en cuanto al rendimiento se mide como una reducción de los recursos de cliente, ya que se evita procesar elementos innecesarios.