Partage via


OFFSET LIMIT (requête NoSQL)

S’APPLIQUE À : NoSQL

La clause OFFSET LIMIT est une clause facultative qui permet d’ignorer et de récupérer un certain nombre de valeurs de la requête. Le nombre OFFSET et le nombre LIMIT sont obligatoires dans la clause OFFSET LIMIT.

Lorsque OFFSET LIMIT est utilisé avec une clause ORDER BY, la requête génère le jeu de résultats en ignorant certaines valeurs, puis en récupérant certaines valeurs ordonnées. Si aucune clause ORDER BY n’est utilisée, l’ordre des valeurs est déterministe.

Syntaxe

OFFSET <offset_amount> LIMIT <limit_amount>

Arguments

Description
<offset_amount> Spécifie le nombre entier d’éléments que doivent ignorer les résultats de la requête.
<limit_amount> Spécifie le nombre entier d’éléments que doivent inclure les résultats de la requête.

Exemples

Pour l’exemple de cette section, cet ensemble d’éléments de référence est utilisé. Chaque élément inclut une propriété name.

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

Cet exemple inclut une requête utilisant la OFFSET LIMIT clause pour retourner un sous-ensemble d’éléments correspondants en ignorant un élément et en prenant les trois suivants.

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"
  }
]

Notes

  • Le nombre OFFSET et le nombre LIMIT sont requis dans la clause OFFSET LIMIT. Si une clause ORDER BY facultative est utilisée, la requête génère le jeu de résultats en classant d’abord les valeurs avant d’en ignorer et conserver les nombres indiqués. Sinon, la requête retourne un ordre fixe de valeurs.
  • Les frais d’unité de requête pour une requête avec OFFSET LIMIT augmente au fur et à mesure que le nombre de termes Offset augmente. Pour les requêtes affichant plusieurs pages de résultats, nous recommandons généralement d’utiliser des jetons de continuation. Les jetons de continuation sont un « signet » indiquant l’endroit où la requête pourra reprendre. Si vous utilisez OFFSET LIMIT, il n’y a pas de « signet «, si vous souhaitez retourner à la page suivante de la requête, il vous faudrait commencer depuis le début.
  • Vous devez utiliser OFFSET LIMIT lorsque vous souhaitez ignorer des éléments entiers et enregistrer des ressources du client. Par exemple, utilisez OFFSET LIMIT si vous souhaitez passer au millième résultat de la requête et que vous n’avez pas besoin d’afficher les résultats compris entre 1 et 999. Sur le back-end, OFFSET LIMIT charge toujours chaque élément, y compris ceux qui sont ignorés. L’avantage, pour ce qui est de la performance, est que cela permet de réduire les ressources du client en évitant de traiter des éléments qui ne sont pas nécessaires.