cubrid shard 질문있습니다 ㅜㅜ봐주세요!!!

by 석이 posted Nov 10, 2014

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요 큐브리드 샤드에 대해서 질문이 있습니다.

현재 자바로 샤드 데이터베이스 4개에 데이터를 insert하기 위해 prestatement를 사용하는데요

데이터를 1만개 넣는다고 가정을 하면

for( int i = 0 ; i < 10000; i++){
pstmt.setInt();

pstmt.setString();

등등 총 16개의 애트리뷰트가 있습니다.

pstmt.executeUpdate();

connection.commit();

}

이런식으로 매번 커밋을 해주는데요 이렇게 하니깐 insert시간이 상당히 많이 걸리더라구요.. 

1만개 넣는데 8분정도 10만개는 1시간이 넘개 걸립니다. 그래서 executeBatch를 사용하려고하니 릴리즈노트에 

샤드 데이터베이스에서는 사용이 안된다고 에러가 떠서 해결방법을 모르겠네요ㅜㅜ


for( int i = 0 ; i < 10000; i++){
pstmt.setInt();

pstmt.setString();

등등 총 16개의 애트리뷰트가 있습니다.

pstmt.executeUpdate();

}

connection.commit();

for문 밖에 커밋을 한번 하고싶은데 이렇게하면 Cannot communicate with the broker or received invalid packet 에러가 뜨구요...


insert 시간을 줄이는 다른 방법 없을까요?? 제발 도와주세요ㅜㅜ



Articles

84 85 86 87 88 89 90 91 92 93