7.6. 제한그리고오프셋

제한그리고오프셋나머지 쿼리에 의해 생성된 행의 일부만 검색할 수 있습니다.

선택select_list발신테이블_표현
    [주문 방법...]
    [한도번호| 모두] [오프셋번호 ]

범퍼카 토토 개수가 주어지면 그 만큼의 행만 반환됩니다(그러나 쿼리 자체가 더 적은 행을 생성하는 경우 더 적은 수의 행이 반환될 수도 있습니다).모두 제한생략한 것과 같습니다제한절, 있는 그대로제한NULL 인수를 사용합니다.

오프셋행 반환을 시작하기 전에 많은 행을 건너뛰라고 말합니다.오프셋 0생략한 것과 같습니다오프셋절, 있는 그대로오프셋NULL 인수가 있습니다.

둘 다인 경우오프셋그리고제한나타나면오프셋계산을 시작하기 전에 행을 건너뜁니다.제한반환된 행.

사용 시한도, 다음을 사용하는 것이 중요합니다.주문 기준결과 행을 고유한 순서로 제한하는 절입니다. 그렇지 않으면 쿼리 행의 예측할 수 없는 하위 집합을 얻게 됩니다. 10번째 행부터 20번째 행까지를 요구할 수도 있지만, 10번째부터 20번째 행까지의 순서는 무엇입니까? 지정하지 않는 한 순서를 알 수 없습니다.주문 기준.

쿼리 최적화 프로그램은 다음을 수행합니다.한도쿼리 계획을 생성할 때 고려하므로 제공한 내용에 따라 다른 계획(다른 행 순서 생성)을 얻을 가능성이 매우 높습니다.한도그리고오프셋. 따라서 다른 것을 사용하여제한/오프셋쿼리 결과의 다른 하위 집합을 선택하는 값일관되지 않은 결과를 제공합니다예측 가능한 결과 순서를 적용하지 않는 한주문 기준. 이것은 버그가 아닙니다. 이는 SQL이 특정 순서로 쿼리 결과를 제공할 것을 약속하지 않는다는 사실에 따른 본질적인 결과입니다.주문 기준순서를 제한하는 데 사용됩니다.

다음으로 건너뛴 행은오프셋절은 여전히 서버 내부에서 계산되어야 합니다. 그러므로 큰오프셋비효율적일 수 있습니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.