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 39117 게시물 읽기
No. 39117
같은테이블 조인.. 튜닝 부탁드립니다
작성자
궁금이
작성일
2011-11-22 11:29
조회수
4,876

같은 테이블에서 조인하는 문제입니다


SELECT /*+ INDEX (B IDX21_TR_TX_ON) */
       A.ISS_CD A_ISSUER_CD
      ,B.ISS_CD B_ISSUER_CD
  FROM TR_TX_ON A, TR_TX_ON B
 WHERE A.ISS_CD = '00'
  AND A.CARD   = B.CARD
  AND B.ISS_CD <> '00'

위의 쿼리를 보시면 아시겠지만
A,B 모두 같은 테이블입니다.
A,B 테이블에서 같은 카드번호로 쿼리를 한 다음
A 는 ISS_CD = 00인것 , B는 ISS_CD <> 00 이 아닌
자료를 추출하는 쿼리인테 B 테이블 즉 ISS_CD <> 00
자료는 약 5,000만건이 있고, A테이블은 약 몇천건 자료가
있습니다. 이테이블들은 모두 인덱스가 ISS_CD, CARD_NO로
잡혀져 있습니다. ISS_CD가 00 이 아닌 자료가 중복으로
B 테이블에 많이 존재하기 때문에 자료 중복이 많이 나오며
또한 쿼리 속도가 너무 늦습니다.
제가 궁금한건 쿼리 속도를 빠르게 하는 방법과 또한 A,B
카드번호가 일치하는 자료가 하나만 나왔으면 하는 바램입니다.

결과물이 이런식으로 나오겠죠

A_ISSUER_CD B_ISSUER_CD
-----------------------
   00       21            ==> B_ISSUER_CD자료는의 코드값은 예를 들어 보임
  

이 쿼리의 튜닝을 부탁드립니다.  

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

PK는 무엇인가요? 

동일 CARD에 ISS_CD 가 00 인것과 01, 02 ,03,04,05 인게  있을수도 있을테니깐요.

 

여튼 적어주신거로는  ISS_CD를 기준으로 "모든 ROWS"를 가져와야하니

그냥 풀테이블 스캔하셔야겠고요

 

 

with tr_tx_on as (

SELECT '00' AS ISS_CD, '01' AS CARD FROM DUAL UNION ALL

SELECT '99' AS ISS_CD, '01' AS CARD FROM DUAL UNION ALL

SELECT '01' AS ISS_CD, '02' AS CARD FROM DUAL UNION ALL

SELECT '00' AS ISS_CD, '03' AS CARD FROM DUAL 

)

SELECT CARD,MAX(A_iSSUER_CD),MAX(B_ISSUER_CD) 

FROM (SELECT 

CARD,

DECODE(ISS_CD,'00',ISS_CD,null)  AS A_ISSUER_CD,

DECODE(ISS_CD,'00',null,ISS_CD) AS B_ISSUER_CD

FROM TR_TX_ON

)

GROUP BY CARD

 

 

cReAm(catz)님이 2011-11-23 11:24에 작성한 댓글입니다.

컥.. 저랑 같은 닉네임을 쓰시네요..

혹시 바꿔주실 수 있음 변경부탁드리겠습니다...

궁금이(kimscom)님이 2011-11-28 17:57에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39121rollup에 총계대신 소계값중 max값을 출력하고 싶습니다. [2]
문성환
2011-11-24
5104
39120세로를 가로로 변환하는 방법 [4]
제로
2011-11-23
7359
39118통계쿼리좀 부탁드려여 [3]
장선각
2011-11-22
5040
39117같은테이블 조인.. 튜닝 부탁드립니다 [2]
궁금이
2011-11-22
4876
39116테이블 생성시 권한 문제... [1]
다다익선
2011-11-22
3971
39113트리거 작성시 질문입니다. [1]
유상구
2011-11-21
3617
39112일일 일련번호 쿼리가 궁금합니다. [1]
천세훈
2011-11-21
4296
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다