자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi ADO, dbExpress FireDAC 20,000건 쿼리시 FireDAC이 제일 느린것이 맞나요?
2017.02.19 18:48
마이그레이션을 dbExpress 로 해야할지 FireDAC으로 해야할지 고민하다가
그림 처럼 20,000건을 SELECT 쿼리하는 성능을 테스트 해보았습니다.
데이터베이스는 MS SQL Server 입니다.
기존 프로그램은 ADO로 개발된 윈도우용 업무프로그램입니다.
ADO가 MS SQL Server에 친화적이어서 제일 빠른 듯...
그런데 FireDAC이 너무 느리네요.
동등하게 하기위해 FireDAC의 FetchOptions.Mode = fmAll 로 하여 ADO 처럼 한번에 모두 가져오게 했습니다.
fmOnDemand로 하면 RowsetSize 값만큼 가져오기게 처음에는 빠르지만 DBGrid에서 스크롤하면 버벅되어
fmAll로 설정했습니다.
몇몇 동영상에 insert 작업을 FireDac Array DML 을 이용하여 속도 향상을 하는 것을 보았는데 Select 문에
FireDAC 에서 속도 향상할 특별한 방법이 있는지요?
dbExpress 는 앞으로 없어질 것 같다는데...
FireDAC으로 가야할 것 같은데...
고민되네요...
댓글 0
Delphi ADO, dbExpress FireDAC 20,000건 쿼리시 FireDAC이 제일 느린것이 맞나요?
2017.02.19 18:48
마이그레이션을 dbExpress 로 해야할지 FireDAC으로 해야할지 고민하다가
그림 처럼 20,000건을 SELECT 쿼리하는 성능을 테스트 해보았습니다.
데이터베이스는 MS SQL Server 입니다.
기존 프로그램은 ADO로 개발된 윈도우용 업무프로그램입니다.
ADO가 MS SQL Server에 친화적이어서 제일 빠른 듯...
그런데 FireDAC이 너무 느리네요.
동등하게 하기위해 FireDAC의 FetchOptions.Mode = fmAll 로 하여 ADO 처럼 한번에 모두 가져오게 했습니다.
fmOnDemand로 하면 RowsetSize 값만큼 가져오기게 처음에는 빠르지만 DBGrid에서 스크롤하면 버벅되어
fmAll로 설정했습니다.
몇몇 동영상에 insert 작업을 FireDac Array DML 을 이용하여 속도 향상을 하는 것을 보았는데 Select 문에
FireDAC 에서 속도 향상할 특별한 방법이 있는지요?
dbExpress 는 앞으로 없어질 것 같다는데...
FireDAC으로 가야할 것 같은데...
고민되네요...