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

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

오라클 대용량 update 문의

mechyu 2016.08.02 14:40 Views : 4195

안녕하세요

제가 배달주소DB에서 데이터를 검색해서

오입력된 우편번호를 정정하는 프로그램을 개발하고 있는데요

데이터가 11만건 정도여서

update속도가 잘 안나오네요(현재 15분정도 소요 됩니다)



오라클 버젼은 11g입니다

table명 tb_sim_regi_info

구조는

regino          vachar2(13) 등기번호

recevymd     vachar2(8) 접수일자

zipcd            vachar2(8) 우편번호

addr              vachar2(100)  기본주소

dtailaddr       vachar2(200) 상세주소

기본주소는 보통 동/면/읍까지 들어가고 상세주소에 나머지 주소가 들어갑니다


제가 쓰는 update  쿼리는 아래와 같습니다

update tb_sim_regi_info set zipcd = '252829' where addr like '%인제%' and replace(trim(addr),' ','')||replace(trim(dtailaddr),' ','') like '%사서함100%'

기본적으로 이렇게 쓰고 상황에 따라서 and, and not 추가 됩니다

update tb_sim_regi_info set zipcd = '252829' where addr like '%인제%' and replace(trim(addr),' ','')||replace(trim(dtailaddr),' ','') like '%사서함100%' and not replace(trim(addr ),' ','')||replace(trim(dtailaddr),' ','') like '%boq%'

update tb_sim_regi_info set zipcd = '252829' where addr like '%원주%' and replace(trim(addr),' ','')||replace(trim(dtailaddr),' ','') like '%문막읍%' and replace(trim(addr),' ','')||replace(trim(dtailaddr),' ','') like '%원문로412%'


이런 쿼리가 jdbc로 약 400개정도 돌아갑니다

보통 400개 처리하는데 15분정도 걸리는데

문제는 다 문자열이고 딱히 속도개선을 위한 방법이 떠오르지 않네요

좋은 방법이 있다면 알려주시면 감사하겠습니다



No. Subject Author Date Views
9461 싱글따옴표 처리 문제 [2] 밥먹는푸우 2016.08.04 4293
9460 SQL SERVER Power Shell [2] 헬로우파이썬 2016.08.04 3160
9459 dynamic unpivot 관련 에러 [1] 잔든건 2016.08.04 3773
9458 case when 사용시 옵션값이 많은 경우 [5] 냥냥 2016.08.03 3319
9457 기존 DB에 데이터가 있을때 기본키와 NULL 설정을 바꾸고 싶습니다. [3] 하늘의유실물 2016.08.03 2791
9456 mssql2008 쿼리문좀요 1113342 2016.08.02 2969
» 오라클 대용량 update 문의 [1] mechyu 2016.08.02 4195
9454 미러링 관련 질문 현명 2016.08.01 3708
9453 [Oracle] 특정 컬럼의 값의 충족할 때 다음 행을 출력 하고 싶습니다. [2] kkk 2016.08.01 3079
9452 SQL 2000에서 계정 리스트를 쿼리로 볼 수 있는 방법이 있나요? [1] tempest 2016.07.30 3226
9451 레코드가 없어도 특정 컬럼값이 뜨게 하고 싶어요. [1] 마루한 2016.07.30 3565
9450 powershell 질문 있습니다 ㅠㅠ 재히루 2016.07.29 2893
9449 혹시 토드 for sql server 쓰시는 분중에 하늘의유실물 2016.07.29 2615
9448 웹서비스 호출시 ResponseText 한글 깨짐현상 해소 방법문의 [1] 달리는꽃사슴 2016.07.27 4716
9447 조건절의 인덱스 [2] 플러미 2016.07.26 2837
9446 sql 라이센스가 성능에 영향이 있는건가요? [2] 아싸리호야 2016.07.26 2944
9445 column을 배열로 받아서 select쿼리를 실행할수 있나요? [2] 브루루우우수 2016.07.25 2709
9444 인덱스 길이 관련입니다. [2] 후오로 2016.07.25 2221
9443 Order by Case 질문있습니다. [3] 열뿌 2016.07.25 3357
9442 DB복사 방법 문의 드립니다. [4] 돌이 2016.07.25 2854





XE Login