2016-09-29 1 views
1

저는 Delphi XE6 프로젝트에서 일하고 있습니다. PostgreSQL 연결에 Firedac을 사용하고 있습니다.Delphi Firedac TFDtable 공개 문제

이 프로젝트에는 두 개의 데이터 모듈이 있으며이 데이터 모듈에는 거의 20 개의 TFDtables 구성 요소가 있습니다.

데이터 모듈의 이벤트를 만들 때 모든 테이블에 대해 "TFDtable.open"을 수행하고 있습니다. 이 테이블에는 700000에서 800000 개의 항목이 포함 된 많은 데이터가 들어 있습니다.

데이터로드 중 문제가 발생했습니다. 적재하는데 적어도 20 초 걸립니다. 빨리 할 수있는 다른 방법이 있습니까?

+2

당신은 사용자가 GUI에서 그들을 찾아 볼 수 있습니다 단지 있도록 행이 많은 수를로드하고 있습니까? 어쨌든이 테이블을 더 빨리 여는 것은 어렵습니다. 훨씬 더 나은 것은 당신이로드하는 레코드에 대해 훨씬 더 선택적 일 것입니다. 이는 응용 프로그램 및 데이터베이스 설계의 문제입니다. – MartynA

+0

FDTables에'FetchOptions.Mode'가 어떻게 설정되어 있습니까? –

+0

fmOnDemand가 – poonam

답변

0

Live Data Window Mode을 구현하는 것으로 보이며 LiveWindowFastFirst 속성을 찾고 있습니다. 그것은 설명한다 :

가 true로 설정되어있는 경우

LiveWindowFastFirst, 다음 FireDAC은 가능한 한 빨리 첫 결과를 반환하는 쿼리를 작성합니다. False (기본값 : 값)로 설정하면 FireDAC은 모든 테이블 행을 반환하는 시간을 최소화합니다.

그래서 그것을 가능하게하려고 :

... 
FDTable1.FetchOptions.LiveWindowFastFirst := True; 
FDTable1.Open;