데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

수고하십니다. 


현재 상황을 간략히 설명드리면

db : sql server 2005

개발언어 : java , spring mvc

서비스 : 웹서비스 


처리 로직

계단식 로직입니다. 1단계에서 처리되고 1차 db 저장

2단계에서는 1단계 자료를 가져와서 처리후 2차 db 저장.

..

이런식으로 지정한 단계까지 루프를 돕니다. 


처리라하면. 외부라이브러리를 통해 결과를 받아서 이런저런 가공하고 db에 넣을 자료를 생성하는 과정입니다. 


문제가 이전 단계에서 생성된 자료를 바탕으로 현재 단계에서 처리를 하므로 생성된 자료 수가 기하급수적으로 늘어납니다.


예를 들어 보면

1단계에서 아이템을 한개 받아서 처리를 통해 1차로 저장된 자료가 100개라 하면

2단계에서는 1단계에서 생성된 100개를 조회해와서 (select) 다시 같은 처리를 하므로 100*100개가 저장이 됩니다. (insert)

단계 n이 처리될 때마다 100^n 으로 자료가 증가합니다. 

당연한이야기지만.. 처리해야할 건수가 많으니 시간이 오래걸리지요.

이 시간을 최대한 단축하고 싶습니다. ㅠㅠ


저장처리는 (insert into .. select . . .  union all select union  all .. 해서 max 2000 row )가 한번에 실행되게 배치처리되어 있습니다. 


이게 외부라이브러리에서 던져주는 결과값을 이용해야하고, 이전 단계를 거친 자료를 사용해야하한다는 제약사항이 있어.. 

현재 로직은 변경이 불가능합니다. 


그래서 드는 생각은 db 처리 시간을 최대한 줄여보자입니다. 


sql server에서 자바 라이브러리를 호출 할 수 있다는 가정하에..

현재 자바에서 처리되는 로직을 sql server의 프로시저로 변환이 가능하다면 db 처리 시간이 많이 줄어들지 않을까 

생각이 되었습니다. 


그래서 질문입니다. 

1.sql server 프로시저에서 자바라이브러리 호출이 가능할까요? 

2.가능하다면 프로시저에서 많게는 100^10 (자리수 셋기도 힘드네요..) 처리가 가능할까요?


그리고.. 접근 방법부터 잘못되었다는 생각이 들기도해서요.. 

어차리 대량의 자료가 처리될 것이므로.. 

배치 처리로 가야하는게 맞을거 같다는 생각도 듭니다. 


여러 의견 주시면 감사하겠습니다. 


한 10단계까지 돌리고 싶은데.. 100^10 ..  ㅜㅜ


아.. db를 변경할 생각은 있습니다. 오라클로는 안될거 같구요.

mysql이나 sql server 버전 업.. 은 가능할 것 같습니다. 


참고로 db에 저장되는 자료는 그렇게 크지 않습니다. 칼럼 6개에 5~600자 이하 varchar 자료들입니다. 

더 필요한 정보 있으시면 댓글에 말씀해주셔요. 



그럼 부탁드립니다.

No. Subject Author Date Views
8051 테이블의 특정 열이 포함된 프로시저를 찾는방법 [2] 왕만두와우동 2014.07.23 2355
8050 메인컴퓨터는 있고 다른컴퓨터에서 로그인이 안됩니다. [5] 고쳐주세요 2014.07.23 3167
8049 등록된 서버 프로시저 호출 질문입니다. [7] 군고구마 2014.07.22 2840
8048 Select 했을 경우 2만건의 데이터를 2천건씩 나누는 방법이 있나요? [2] 바보쿠우 2014.07.21 4079
8047 전문검색 문의합니다. (영단어 오류) 올레소 2014.07.21 2621
8046 SQL UNION에서 대해 질문드려요~ [1] halonamomo 2014.07.21 2574
8045 쿼리 질문드립니다. [2] 흑흑 2014.07.18 2247
8044 SQL 데이터 파일의 경우 shrinkfile을 하면 안되는건가요? [8] 나는짱이야 2014.07.18 2995
8043 쿼리 질문드립니다. [3] 상어고래 2014.07.18 2527
8042 SQL 서버 기본 데이터 저장 단위인 페이지 관련.. [1] SQL어렵.. 2014.07.17 2554
8041 Openquery Insert문장 사용법 문의 [1] 바람처럼 2014.07.17 2728
8040 메인컴퓨터는 있고 다른컴퓨터에서 로그인이 안됩니다. [4] 고쳐주세요 2014.07.17 2499
» 프로시저에서 자바 라이브러리 호출 가능 여부 & 대용량자료 질문입니다. [2] 커피요쿠르트 2014.07.17 3494
8038 소수점 한자리까지 나오게하려고 하는데... [1] 더따뜻한 2014.07.17 3916
8037 가장많이 사용 되는 프로시저 또는 테이블을 알아보는 방법 [3] 빡빡이 2014.07.16 2758
8036 소수점 1째 자리만 사용한다고 할때 가장 좋은 type? [2] 쌩규 2014.07.16 2880
8035 ROW_NUMBER 사용법 [2] 아싸라비아콜롬비아 2014.07.15 3576
8034 이걸..어찌해야할지..도와주십시요 선배님들!! [2] SQL왕왕초보 2014.07.15 2656
8033 프로시저 조회 결과를 임시 테이블에 입력하는 방법 [1] 강구다.. 2014.07.15 3151
8032 특정정보를 공유하고 별개로도 할 수 있는.. [2] 냥냥 2014.07.15 2413





XE Login