database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9612 게시물 읽기
No. 9612
select 속도가 너무 느립니다ㅠㅠ
작성자
이성민(a1313131315)
작성일
2015-12-07 17:51ⓒ
2015-12-07 17:53ⓜ
조회수
5,043

 mfc와 postgresql을 사용하여 프로그래밍을 하고 있는데요 . 단순로그성 데이터를 디비에 저장합니다. 하루에 80000개 정도를 삽입하는데 이걸 crecordeset으로 select하니 20분이 넘게 걸리더군요...

crecordeset rs;

rs.nextmove때문에 그런 것 같은데 한번에 빠르게 가져올 방법은 없는건가요?ㅠ

psql에서 자체 검색을 할 때는 7초 밖에 안걸렸거든요ㅠㅠ

이 글에 대한 댓글이 총 1건 있습니다.

mfc 라고 작성한다면, c++ 일터인데,

odbc를 사용하지 말고,

libpq로 직접 server side cursor를 구현하세요.

c++ 코딩한다면, 크게 어렵지는 않을 것 같네요.

쿼리 방법은

PQexec(connection, "begin")
PQexec(connection, "declare curs1 cursor for select .....")
for 문
result = PQexec(connection, "fetch 10 from curs1")
... 응용프로그램의 get result 작업

PQexec(connection, "close curs1")

PQexec(connection, "end")

이런식입니다.

odbc의 대량 select 작업이 client cursor를 사용하기 때문에, 레코드 집합을 만들어내는데 비용이 많이 들기는 합니다.

이 문제에 열 받고, 내가 고쳐 보겠다면, postgresql odbc 코드를 보시고, 직접 server side cursor 기능을 개선해 주세요.

(길이 길이 남을 코드 기여가 될 것입니다.)

 

김상기(ioseph)님이 2015-12-07 23:28에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9615postgresq connect
이성민
2015-12-10
4631
9614oracle에서 postgresql 을 db link 사용중 select 결과 컬럼 [1]
손님
2015-12-10
4891
9613postgre sql insert update 동시에 진행되나요? [3]
변상희
2015-12-08
5167
9612select 속도가 너무 느립니다ㅠㅠ [1]
이성민
2015-12-07
5043
9611function의 Table Value Parameter [1]
지현명
2015-12-04
4819
9610Pro*C --> ECPG 변환 관련 질문 입니다. [1]
힛잉
2015-12-03
4789
9608테이블 oid가 데이터베이스 내에서 확인이 안되는 경우 [2]
김성환
2015-12-01
4761
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.072초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다