Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

[DocWiki 번역] FireDAC.Stan.Option.TFDFetchOptions.RowsetSize


Recommended Posts

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)

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.