Kori 3월 28일, 2022에 포스트됨 공유하기 3월 28일, 2022에 포스트됨 Docwiki에 있는 "FireDAC.Stan.Option.TFDFetchOptions.RowsetSize"를 번역한 글: 번역일: 2022년 3월 29일) 위로 가기: [DocWiki 번역] TFDFetchOptions (이 글은 "설명" 부분만 번역했음. 클래스 선언, 부모, 메소드, 프로퍼티, 프로퍼티, 유닛 정보 등등은 RowsetSize 원문에 정리된 것을 볼것) 설명 (Description) 한번에 담아올 레코드 갯수를 제어한다. 담아오기 동작 한번에 가져올 행의 갯수를 지정할 때, RowsetSize 프로퍼티를 사용한다. 이미 사용하고 있는 데이터셋의 RowsetSize를 변경하려면, 애플리케이션에서 먼저 Disconnect 메소드를 호출해야 한다. FireDAC은 결과 세트 담아오기를 최적화하기 위해, 대상 DBMS의 CLI(Command Line Client)기능을 활용한다. FireDAC에서 지원하는 DBMS 대부분은 Row Set Fetching 기술을 제공한다. 단, MySQL 서버와 Microsoft Access는 이 기능을 제공하지 않는다. Row Set Fetching 기술은 DBMS 서버에서 DBMS 클라이언트로 1회 왕복 시 레코드 여러개를 패킷 하나에 담아서 전송하는 기술이다. 따라서 데이터 담아오기 동작에서 레코드를 1개만 담고, 1회 왕복 시 그 레코드 1개만 전송하는 방식과 비교하면 데이터 담아오기 성능이 몇배 향상된다. 만약 DBMS가 Row Set Fetching을 지원하지 않으면, FireDAC이 모방(emulate)한다. 따라서, 가져오기 동작은 모든 드라이버에서 일원화된다. RowsetSize <= 5 일 때와 RowsetSize >= 50 일 때를 비교하면 성능 차이가 상당하다. 하지만, RowsetSize ~= 100 일 때와 RowsetSize ~= 500 일 때는 성능에 별 차이가 없다. 예를 들어, 각 상황 별로, 개발자가 직접 더 환경에 알맞은 값을 확인하는 것이 좋다. 기타 자료 (See Also) [DocWiki 번역] 행 담아오기(Fetching Rows) (FireDAC) [DocWiki 번역] FireDAC.Stan.Option.TFDFetchOptions.Mode [DocWiki 번역] FireDAC.Stan.Option.TFDFetchOptions.Unidirectional 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.