OFFSET LIMIT(NoSQL 쿼리)
적용 대상: NoSQL
OFFSET LIMIT
절은 쿼리에서 몇 개의 값을 건너뛰고사용하기 위한 선택적 절입니다. OFFSET LIMIT 절에는 OFFSET
개수와 LIMIT
개수가 필요합니다.
ORDER BY
절과 함께 OFFSET LIMIT
가 사용되면 정렬된 값을 건너뛰고 사용하여 결과 집합이 생성됩니다. ORDER BY
절을 사용하지 않으면 결정적 값 순서로 생성됩니다.
구문
OFFSET <offset_amount> LIMIT <limit_amount>
인수
설명 | |
---|---|
<offset_amount> |
쿼리 결과에서 건너뛰어야 하는 항목 수를 정수로 지정합니다. |
<limit_amount> |
쿼리 결과에 포함되어야 하는 항목 수를 정수로 지정합니다. |
예제
이 섹션의 예제에서는 이 참조 항목 집합이 사용됩니다. 각 항목에는 name
속성이 포함됩니다.
[
{
"name": "Sawyer Miller",
"team": "Leadership team"
},
{
"name": "Jennifer Wilkins",
"team": "Leadership team"
},
{
"name": "Hannah Haynes",
"team": "Leadership team"
},
{
"name": "Isaac Talbot",
"team": "Leadership team"
},
{
"name": "Riley Johnson",
"team": "Leadership team"
}
]
참고 항목
원래 JSON 데이터에서 항목은 정렬되지 않습니다.
첫 번째 예제에는 사전순으로 정렬된 모든 항목의 name
속성만 반환하는 쿼리가 포함됩니다.
SELECT VALUE {
name: e.name
}
FROM
employees e
WHERE
e.team = "Leadership team"
ORDER BY
e.name
[
{
"name": "Hannah Haynes"
},
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
},
{
"name": "Sawyer Miller"
}
]
다음 예제에서는 절을 사용하여 OFFSET LIMIT
첫 번째 항목을 건너뛰는 쿼리를 포함합니다. 가능한 모든 나머지 값을 반환하려면 컨테이너의 항목 수로 제한됩니다. 이 예제에서 쿼리는 한 항목을 건너뛰고 나머지 4개(제한 5개 중)를 반환합니다.
SELECT VALUE {
name: e.name
}
FROM
employees e
WHERE
e.team = "Leadership team"
ORDER BY
e.name
OFFSET 1 LIMIT 5
[
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
},
{
"name": "Sawyer Miller"
}
]
이 마지막 예제에서는 한 항목을 건너뛰고 다음 세 항목을 사용하여 일치하는 항목의 하위 집합을 반환하는 절을 사용하는 OFFSET LIMIT
쿼리를 포함합니다.
SELECT VALUE {
name: e.name
}
FROM
employees e
WHERE
e.team = "Leadership team"
ORDER BY
e.name
OFFSET 1 LIMIT 3
[
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
}
]
설명
OFFSET LIMIT
절에는OFFSET
개수와LIMIT
개수가 둘 다 필요합니다. 선택적ORDER BY
절을 사용하면 정렬된 값을 건너뛰어 결과 집합이 생성됩니다. 그러지 않으면 쿼리가 고정된 값 순서대로 반환합니다.- 오프셋되는 용어 수가 증가함에 따라
OFFSET LIMIT
를 사용하는 쿼리의 RU 요금도 증가합니다. 여러 페이지의 결과가 있는 쿼리의 경우 일반적으로 연속 토큰을 사용하는 것이 좋습니다. 연속 토큰은 나중에 쿼리가 다시 시작될 수 있는 위치의 “책갈피”입니다.OFFSET LIMIT
를 사용하는 경우 "책갈피"가 없습니다.쿼리의 다음 페이지를 반환하려면 처음부터 시작해야 합니다. - 항목을 완전히 건너뛰고 클라이언트 리소스를 저장하려는 경우
OFFSET LIMIT
를 사용해야 합니다. 예를 들어 1부터 999까지의 결과를 볼 필요가 없고 1000번째 쿼리 결과로 건너뛰려는 경우OFFSET LIMIT
를 사용해야 합니다. 백 엔드에서OFFSET LIMIT
는 건너뛴 항목을 포함하여 각 항목을 계속 로드합니다. 성능상의 이점은 불필요한 항목의 처리를 방지함으로써 클라이언트 리소스를 줄이는 데 있습니다.