집 >데이터 베이스 >MySQL 튜토리얼 >키 세트 페이지 매김은 오프셋이 큰 PostgreSQL 쿼리를 어떻게 최적화할 수 있습니까?
대규모 테이블에서 PostgreSQL 페이지 매김 성능 향상
OFFSET
을 사용하여 대규모 PostgreSQL 테이블(수백만 행)에서 페이지를 매긴 데이터를 검색하면 쿼리 속도에 심각한 영향을 미칠 수 있습니다. 이 기사에서는 우수한 최적화 전략인 키 세트 페이지 매김을 제시합니다.
키 세트 페이지 매김: 더욱 효율적인 접근 방식
키 세트 페이지 매김은 이전 페이지의 마지막 행 값을 활용하여 OFFSET
의 성능 저하를 방지합니다. 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT * FROM big_table WHERE (vote, id) > (vote_x, id_x) ORDER BY vote, id LIMIT n;</code>
vote_x
및 id_x
는 이전 페이지의 마지막 행의 vote
및 id
을 나타냅니다. 이를 통해 데이터베이스가 효율적으로 행을 건너뛸 수 있어 OFFSET
.
색인 강화
최적의 성능을 위해 WHERE
절에 사용된 열에 인덱스를 생성하세요.
<code class="language-sql">CREATE INDEX vote_order_asc ON big_table (vote, id);</code>
중요 사항:
(vote, id)
조합이 고유해야 합니다.ORDER BY
절의 방향은 인덱스의 방향과 일치해야 합니다.ORDER BY
쿼리에는 적합하지 않습니다.추가 자료:
위 내용은 키 세트 페이지 매김은 오프셋이 큰 PostgreSQL 쿼리를 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!