혼합 커서
혼합 커서는 키 집합 기반 커서와 동적 커서의 조합입니다. 결과 집합이 너무 커서 전체 결과 집합에 대한 키를 합리적으로 저장할 수 없을 때 사용됩니다. 혼합 커서는 전체 결과 집합보다 작지만 행 집합보다 큰 키 집합을 만들어 구현됩니다.
애플리케이션이 키 집합 내에서 스크롤하는 한 동작은 키 집합 기반입니다. 애플리케이션이 키 집합 바깥쪽을 스크롤하면 동작이 동적입니다. 커서가 요청된 행을 가져오고 새 키 집합을 만듭니다. 새 키 집합을 만든 후 동작은 해당 키 집합 내에서 키 집합에 되돌리기.
예를 들어 결과 집합에 1,000개의 행이 있고 키 집합 크기가 100이고 행 집합 크기가 10인 혼합 커서를 사용한다고 가정합니다. 첫 번째 행 집합을 가져오면 커서는 처음 100개 행에 대한 키로 구성된 키 집합을 만듭니다. 그런 다음 요청된 대로 처음 10개 행을 반환합니다.
이제 다른 애플리케이션이 행 11과 101을 삭제한다고 가정합니다. 커서가 행 11을 검색하려고 하면 이 행에 대한 키가 있지만 행이 없으므로 간격이 발생합니다. 키 집합 기반 동작입니다. 커서가 행 101을 검색하려고 하면 행에 대한 키가 없기 때문에 커서에서 행이 누락된 것을 감지하지 못합니다. 대신 이전 행 102를 검색합니다. 동적 커서 동작입니다.
혼합 커서는 키 집합 크기가 결과 집합 크기와 같을 때 키 집합 기반 커서와 같습니다. 혼합 커서는 키 집합 크기가 1인 경우 동적 커서와 동일합니다.