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
운영게시판
최근게시물
Oracle Q&A 41346 게시물 읽기
No. 41346
도로주소 매핑테이블 업데이트시 애로사항입니다.
작성자
기쁨이(dojava)
작성일
2017-03-03 09:32:15
조회수
900

안녕하세요 도로명 주소 매핑 테이블을 만들고자 합니다.

 

이 도로명 주소가 건수가 만만찮아서 그런건지, 쿼리가 이상한건지 업데이트가 무진장 오래 걸립니다.

 

아래 쿼리.

 

UPDATE JUSO.ROADMAP_ X

SET MANAGE_NO = (

SELECT DISTINCT A.MANAGE_NO FROM R_BUILD A, R_JIBUN B, R_CODE C

WHERE A.MANAGE_NO = B.MANAGE_NO

AND A.ROAD_CODE = C.ROAD_CODE

AND A.DONG_SEQ = C.DONG_SEQ

AND A.SIDO = '제주특별자치도'

AND A.SIGUNGU = '제주시'

AND A.SIDO||A.SIGUNGU||A.DONG||A.LAWLI||A.JIBUN_NO1||A.JIBUN_NO2||A.ROAD_NAME||A.BUILDING_NO1||A.BUILDING_NO2||A.ZIPCODE =

X.SIDO||X.SIGUNGU||X.LAWDONG||X.LAWLI||X.JIBUN_NO1||X.JIBUN_NO2||X.ROAD_NAME||X.BUILDING_NO1||X.BUILDING_NO2||X.ZIPCODE_ZONE

)

WHERE X.SIDO = '제주특별자치도'

AND X.SIGUNGU = '제주시'

 

 

------

SIGUNGU = '제주시' 만 87043 건 정도입니다.

총 8백만건 정도 업뎃을 해야 합니다. (MANAGE_NO)

어제부터 하루종일 씨름하고 있네요.. 조언좀 부탁드릴게요.

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

1. 서브쿼리 조건중 컬럼을 연결하여 비교하는 조건은
  - 각각의 컬럼을 비교하는 조건으로 변경하세요.
2. Distinct 를 사용하는데?
  - Distinct 를 빼고
  - AND ROWNUM = 1 조건을 추가하세요.
3. B 와 C 의 역할이?
  - 아무런 역할이 없어 보이네요.
  - 필요 없다면 제거하세요.
  - b 와 c 의 조인 때문에 Distinct 가 추가된건 아닐까요?
4. 서브쿼리를 이용한 업데이트는
  - 비효율적인 실행계획으로 풀리기 쉽습니다.
  - Merge 구문으로 변경. 검토해 보세요.

마농(manon94)님이 2017-03-03 16:23:34에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41349특정 값 사이에 있는 값 취하기 ? [2]
헬프미
2017-03-08
974
41348oracleasm listdisks 쿼리문 오류?
우가가
2017-03-06
813
41347os시간 관련 질문입니다.
goblin
2017-03-03
813
41346도로주소 매핑테이블 업데이트시 애로사항입니다. [1]
기쁨이
2017-03-03
900
41345Oracle 동작중에.. 12152, 3114, 3113 error 가 나옵니다.. [1]
이현석
2017-03-02
751
41344lgwr 트레이스파일을 Insert 하는 방법이 있을까요 [8]
검콤이
2017-02-28
994
41342Synonym 삭제 질문 SQL 문의 [1]
검콤이
2017-02-24
1077
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2017 DSN, All rights reserved.
작업시간: 0.068초, 이곳 서비스는
	PostgreSQL v9.6.3으로 자료를 관리합니다