CacheSize 사용
CacheSize 속성을 사용하여 공급자에서 로컬 메모리로 한 번에 검색할 레코드 수를 제어합니다. 예를 들어 CacheSize 10이면 먼저 Recordset 개체를 연 후 공급자는 처음 10개의 레코드를 로컬 메모리로 검색합니다. Recordset 개체를 이동할 때 공급자는 로컬 메모리 버퍼에서 데이터를 반환합니다. 캐시의 마지막 레코드를 지나면 공급자가 데이터 원본에서 캐시로 다음 10개의 레코드를 검색합니다.
메모
CacheSize는 최대 열린 행 공급자별 속성(Recordset 개체의 Properties 컬렉션)을 기반으로 합니다. CacheSize최대 열기 행보다 큰 값으로 설정할 수 없습니다. 공급자가 열 수 있는 행 수를 수정하려면 최대 열기 행 설정합니다.
Recordset 개체의 수명 동안 CacheSize 값을 조정할 수 있지만 이 값을 변경하면 데이터 원본에서 후속 검색 후 캐시의 레코드 수에만 영향을 줍니다. 속성 값만 변경해도 캐시의 현재 콘텐츠는 변경되지 않습니다.
CacheSize 지정하는 것보다 검색할 레코드가 적으면 공급자는 나머지 레코드를 반환하고 오류가 발생하지 않습니다.
CacheSize 설정을 0으로 설정하는 것은 허용되지 않으며 오류를 발생시킵니다.
캐시에서 검색된 레코드는 다른 사용자가 원본 데이터에 적용한 동시 변경 내용을 반영하지 않습니다. 캐시된 모든 데이터를 강제로 업데이트하려면 Resync 메서드를 사용합니다.
CacheSize 값이 1보다 큰 경우 탐색 메서드(Move, MoveFirst, MoveLast, MoveNext 및 MovePrevious)는 레코드를 검색한 후 삭제된 레코드로의 탐색을 발생시킬 수 있습니다. 초기 인출 후에는 삭제된 행에서 데이터 값에 액세스하려고 시도할 때까지 후속 삭제가 데이터 캐시에 반영되지 않습니다. 그러나 CacheSize 1로 설정하면 삭제된 행을 가져올 수 없으므로 이 문제가 제거됩니다.