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 7466 게시물 읽기
No. 7466
PQputCopyData 함수에 관하여 (optimal한 버퍼 크기)
작성자
help
작성일
2008-07-21 01:59
조회수
7,076

안녕하세요. 


항상 이곳에서 좋은 답변해 주시는 분들 감사드립니다. 


PQputCopyData함수에 대해서 여쭵보고 싶은게 있습니다. 지금 어떤 record들을 내부 버퍼에 쌓아놨다가 PQputCopyData 함수를 이용해서 한번에 DB로 COPY하고 있는 부분을 구현하고 있습니다.(개별 레코드를 insert 쿼리로 날리는 것 보다 이게 훨씬 빠르겠죠?)


그런데, 버퍼크기를 어느정도로 잡는게 적당할까요? 제 생각으론 제 부분에서 아무리 버퍼를 크게 잡아두어도 Postgresql 내부적으로 쓰이는 크기로 버퍼를 쪼개서 DB 서버로 보낼 것 같습니다. 혹시 어느정도 버퍼 크기를 잡는게 reasonable한지 아시는 분 계신가요? (혹시 크게 잡아서 한번에 PQputCopyData로 보내는게 빠를 수 도 있나요?)


, 아참 그리고 혹시 PQgetCopyData 써보신 분들 계신가요? 아시는 분 있으시면 간단한 예제 하나 올려주시기 부탁드립니다. 이 함수는 많이 안쓰이는지 구글링이 잘 안되네요.


 감사합니다.

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

당연히 한 번에 휙~ 보내는게 빠르겠죠 ㅎㅎ

libpg 내에서의 처리는 처리고 어플단에서라도 한 번에 처리하는 것이 훨씬 낫죠

 

코드는... 없스빈다 ㅋ;

신기배(소타)님이 2008-07-21 02:24에 작성한 댓글입니다.

굳이 따로 크게 안잡아도 될거 같긴 한데..


PQputCopyData() <-- 이걸 호출하믄서 버퍼에 넣어놨다가( Stream 으로 흘러보내다가 )..


PQputCopyEnd(); 

이게 호출 됐을때 쿼리가 완료(?) 되는것 같은데..


한 Row 가 잡힐수 있는 버퍼크기만 잡음 될것 같습니다!!.....


..


^-^;;;

김석래님이 2008-07-21 15:04에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7470PostgreSQL과 BIND 연동 해보신분 계신가요? [2]
지용남
2008-07-24
9126
7468union 에 order by 가 있을 경우 속도가 현저히 떨어 집니다. [14]
letsgofast
2008-07-21
10915
7467exec() 로 날리는 쿼리 사이즈 제한? [1]
help
2008-07-21
7448
7466PQputCopyData 함수에 관하여 (optimal한 버퍼 크기) [2]
help
2008-07-21
7076
7464설치시 다음단계가 안넘어갑니다 [2]
양진욱
2008-07-18
6444
7463VACUUM FULL이 반드시 필요한가요? [4]
성실
2008-07-14
6819
74628.2.x => 8.3.3 으로 변경하면서..
tyro
2008-07-12
6502
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다