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
운영게시판
최근게시물
Sybase Q&A 1729 게시물 읽기
No. 1729
다시 질문드려여
작성자
이은영(eunylee)
작성일
2006-11-16 13:23ⓒ
2006-11-16 13:35ⓜ
조회수
5,683

insert 시.. dbms는 어떤 동작을 하나요?


대량(천만에서 2천만)의 건수를 작업할건데요...뭐 당연히 중간에 commit을 할거임으로 logsegment 같은게 full 나거나 하지 않겠죠??


그외 대량 건수 작업시 뭘 또 주의해야할까요??


그리고 작업은 아래와 같이 할건데. 효율적인 방법이 맞을까요?


A라는 테이블에 기존 data지우구 부을거랍니다


그래서 A의 스키마와 같은 B를 만들구..이때 B는 index는 추가로 만들지 않고 pk a만 생성해서 pk index만 만들구요 그 B테이블에 insert작업을 해주구 ( 1000건 단위로 commit)  그 후에  A를 drop하고 B를 rename해준 후 index를 생성해주려 합니다.


괜찮을까요??


조언좀 부탁드려여


============================ 이렇게 여쭤봣는데..중요한건..데이터를 읽어오느느 건 sam file이구..이 file에서 값을 읽어..변환 후 load할 예정입니다.
ETL tool을 이용할거구요...(datastage )
이 이야기를 안해서..bcp 이야기나 view이야기 나오게 되었네요..
다시금..조언 부탁드려여


그리구 이경우 1건씩 commit보단 1000건 정도씩 commit하는게 나을까요?>
1건씩 하는경우 많이 속도가 느릴까여?? 별 차이 없을거 같긴한데..

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

재경험으로는 transaction 만 잘 조절해주시면 아무문재업을것갇내요... 

재생각으로는 1000건씩하는게 좋을것갇습니다만 ...


테스트를해보시고 결정하시는게 좋을겋갇내요 ... 

회사마다 사용 이치가 다르니까 ...

예를들어 replication server 을사용하시면 transaction 크면 클수록 좋치안습니다...


TX (mercator) 일경우에는 재기역으로는 user ID 가 create procedure permission 이나 dbo 가 필요하던것갇던대 .. 만약 이 option 을 쓰시면 .. datastage TX 가 필요로하는 SP 를 만들고 drop 을 안하는경우가많습니다 ... 


또 재가 이상한소리만하는개아닌지.... ^^






  

한임경(SPID)님이 2006-11-16 14:01에 작성한 댓글입니다.
이 댓글은 2006-11-16 14:35에 마지막으로 수정되었습니다.

아 그리고 multi-Statement transaction 을 조심하십시요 ... 
재기역으로는 datastage 를 upgrade 하지않으시면 SP 않에서 begin tran 을 trick 햇던게 기역이나네요.... 

ddl in tran option 을 쓰실수도 있지만 .. 이것은 recommand 안하는 것입니다....

한임경(SPID)님이 2006-11-16 14:16에 작성한 댓글입니다.

저도 지금 인포메티카, 비티엘 을 이용해서 ETL작업을 했는데, 무조건 인서트시에서는 뭉치당(큐)으로 작업을 해주시는게 속도면에서 휠씬 빠릅니다.

물론 도중에 변환을 하거나 인서트가 업데이트 엘스 인서트 형식이라면 건건이로 진행됩니다.

커밋도 대부분 1000건 단위로 되어질겁니다. 이걸 1건당
커밋으로 한다면 무지 느려지죠.

로드한 후 변환하신다면 건건이로 로드해서 적재하는 방식일때문에 커밋까지 건당으로 한다면 그 속도는 가히 거북이가 저기까지 가야하는데 뒤집어져서 바로 설라고 일어서는 모습을 보는 듯 하겠군요.


지금 제가 프로젝트 뛰고있는 공공기관에서 그런 방식으로 dw를 구축했는데 너무 느리더군요.. 
좀 더 심사숙고 하시고, 다른 기관들의 사례를 해당 ETL툴 회사에 요청하고 , 또 문의하신 후에 결정하십시오.
만들때 잘못 만들면 밤샘 작업은 기본이죠;;;

아, 어쩌면 일시적인 작업일 경우엔  나중에 FLAG컬럼을 통해 업데이트 하는 작업이 ETL을 통해 이루어지지 않을테니 상관없겠네요.

장일영(파월객)님이 2006-11-20 16:47에 작성한 댓글입니다.
이 댓글은 2006-11-20 17:07에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
1733Sysbase의 객체 종류 좀 알려주세요~ [1]
^^V
2006-11-20
4871
1732질문입니다 [2]
초보자
2006-11-17
6791
1731알려주세요! [2]
흠~
2006-11-17
4731
1729다시 질문드려여 [3]
이은영
2006-11-16
5683
1728좀 도와주세용 ㅠ-ㅠ [1]
초보자
2006-11-16
4245
1726대량 데이터 작업시 [5]
이은영
2006-11-15
9229
1725COM+ 와 Sybase [1]
손동길
2006-11-14
5188
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다