2017-03-23 5 views
0

Managed Esent 인터페이스를 사용하여 테이블에서 데이터를 읽습니다. 나는 이것을 의사 (pseudo)로하고있다.Managed Esent - 데이터를 더 빨리 읽을 수 있습니까?

나는 약 4,000 행인 3 열의 데이터에만 관심이있다. 그러나 테이블 자체는 1,800,000 행입니다. 따라서이 방법은 1,800,000 개의 모든 행을 읽어야하기 때문에 원하는 데이터를 읽는 것이 매우 느립니다. 더 빠른 방법이 있습니까?

답변

0

할 수있는 일이 많이 있습니다. 내 머리 꼭대기에서 몇 가지 있습니다 :

  • 최소 캐시 크기를 설정하십시오 SystemParameters.CacheSizeMin. 기본 캐시 크기 조정 알고리즘은 약간 보수적 인 경우가 있습니다.
  • 테이블을 열 때 OpenTableGrbit.Squential도 설정하십시오. 이것은 프리 페칭에 조금 도움이됩니다.
  • Api.RetrieveColumns을 사용하면 한 번에 3 개의 값을 검색 할 수 있습니다. 이것은 당신이 할 전화/pinvokes의 수를 줄여줍니다.

- 마틴

관련 문제