Qt에서 QSqlQuery의 속도가 느립니다.
글쓴이: ghostyak / 작성시간: 수, 2014/05/07 - 4:58오후
오라클DB를 사용중입니다.
Golden6 프로그램으로 쿼리해서 10만 로우를 받아오면 5초정도 걸리는데
Qt로 코드를 짜면 30초 이상 걸립니다.
아래는 제가 사용한 코드중 일부입니다.
QSqlQuery query; query.setForwardOnly(true); query.prepare("SELECT * FROM table_name"); while(query.next()) { }
또한 QSqlQueryModel이 한번에 256개의 로우만 패치해 오는데
한번에 모든 로우를 갖고오는 방법이 있나요?
fetchMore()메소드를 사용해도 너무 오래 걸립니다. ㅠㅠ
빠르게 가져오는 방법 없나요?
Forums:
트랜잭션 걸고해보세요. 그리고 쿼리 실행을
트랜잭션 걸고해보세요.
그리고 쿼리 실행을 안하셨는데, 실제 코드가 맞나요?
질문하실때에는 임의로 그자리에서 생각나는대로 코드를 작성하지 마시고 제대로된 코드를 보여주셔야 합니다.
트랜젝션 걸고해도 개선되지 않고 있습니다. 제가
트랜젝션 걸고해도 개선되지 않고 있습니다.
제가 사용한 코드를 첨부합니다.
1000
자답입니다. QOCI 드라이버를 버리고 오픈소스
자답입니다.
QOCI 드라이버를 버리고
오픈소스 라이브러리인 ocilib를 사용해서 쿼리하고 모델은 QAbstractItemModel 상속받아 구현했습니다.
속도는 5초로 줄었습니다. :)
1000
댓글 달기