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 39696 게시물 읽기
No. 39696
거의 동일한 대용량 DB 조인 방법 문의
작성자
쿼리OTL
작성일
2012-10-22 00:03ⓒ
2012-10-22 13:01ⓜ
조회수
4,647

4000만건 정도 테이블이 한달 주기로 변경이 있어서

변경 내역을 수시로 뽑아야 합니다.

10시간 20시간도 거리기도 하네요...;;

 

예를 들면

A 테이블 4000만건

B 테이블 4200만건(A테이블이 한달간 변경된 테이블. A테이블 기준 5%이내에서 변경됨)

 

보통 자주 사용하는 구문은 아래와 같습니다.

SELECT *

FROM table A

WHERE EXISTS

                       (

                        SELECT 1

                        FROM table B

                        WHERE

                        A.KEY1=B.KEY1

                       );

두 테이블을 키값으로 유니크 키를 생성해서 조인하는데

성능이 별로라서

좋은 방법이 있는지 문의드립니다.

 

거의 95%이상 동일한 테이블이라 MARGE_SORT 이 좋지 않을까 싶기도한데 대용량엔 안 좋다 그러고 잘 모르겠네요.

인덱스 생성시 KEY 칼럼을 SORT해서 생성해도 쏘팅을 또 하더라구요.;

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

 

대용량은 무조건 hash join입니다

hash_join으로 풀리는지 plan 확인해보시고..  돌리시면 됩니다.

 

SELECT *

FROM table A

WHERE EXISTS

                       (

                        SELECT /*+ hash_sj */

                               1

                        FROM table B

                        WHERE

                        A.KEY1=B.KEY1

                       );

혹은

 

 

 

SELECT  /*+ use_hash(a b) */

               *

FROM table A, table b

WHERE   A.KEY1=B.KEY1

dol님이 2012-10-22 18:46에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39700햇살한조각님 아래 답변에서 혹시라도... [2]
쩌그노트
2012-10-23
4571
39699with as문을 select 문으로 바꾸려면??? [2]
조성훈
2012-10-23
5132
39697쿼리 질문 드립니다. [1]
김영준
2012-10-22
4166
39696거의 동일한 대용량 DB 조인 방법 문의 [1]
쿼리OTL
2012-10-22
4647
39694테이블 컬럼 관련해서 문의드립니다. [2]
유병우
2012-10-20
4158
39693쿼리 조언 부탁합니다. [1]
치우천황
2012-10-19
4404
39692db 백업/복구 명령어 문의.
김삼
2012-10-19
4310
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다