SQL Server에서 페이지 매김에 OFFSET
을 사용하면 대규모 데이터세트에서는 비효율적일 수 있습니다. 키세트 페이지 매김은 탁월한 대안을 제공합니다.
이전 행을 모두 검색하는 행 집합 페이지 매김과 달리 키 세트 페이지 매김은 고유 인덱스를 사용하여 페이지의 시작 지점에 직접 액세스합니다. 이는 불필요한 데이터 검색을 크게 줄여줍니다. 페이지 매김 키(및 추가 쿼리 열)의 고유 인덱스는 최적의 성능을 위해 매우 중요합니다.
TableName
에 인덱스가 있는 Id
이라는 테이블이 있고 최신 Id
값을 사용하여 페이지를 매겨야 한다고 가정해 보겠습니다.
초기 쿼리(첫 페이지):
<code class="language-sql">SELECT TOP (@numRows) * FROM TableName ORDER BY Id DESC;</code>
후속 쿼리:
<code class="language-sql">SELECT TOP (@numRows) * FROM TableName WHERE Id < @lastId ORDER BY Id DESC;</code>
@lastId
은 이전 페이지 결과 중 가장 낮은 Id
값입니다.
고유 값이 없는 열의 경우 `ORDER BY` 및 `WHERE` 절에 보조 열을 포함하고 두 열에 복합 인덱스를 포함합니다.
중요 고려 사항:
위 내용은 키 세트 페이지 매김은 어떻게 OFFSET보다 SQL Server 페이지 매김 효율성을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!