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 41993 게시물 읽기
No. 41993
쿼리수행시간 문의
작성자
열심히하자
작성일
2024-06-18 11:10
조회수
241

아래 쿼리를 수행하면 80초 이상 걸리는데요

어떻게 해결할 수 있을까요?

####################################################


SELECT *

FROM

( SELECT C.LAST_NAME || C.FIRST_NAME NAME, C.GENDER,

TRUNC( (SYSDATE-TO_DATE(BIRTH_DAY,'YYYYMMDD'))/365) AGE,

A.CHANNEL_DESC, B.SEL_DATE

FROM CHANNELS A,

SALES B,

CUSTOMERS C

WHERE 1=1

AND A.CHANNEL_ID = 555

AND A.CHANNEL_ID = B.CHANNEL_ID

AND B.CUST_NUM = C.CUST_NUM

ORDER BY B.SEL_DATE DESC

)

WHERE ROWNUM <= 50


####################################################

# 테이블 건 수

. SALES 테이블 : 약 2천만건

. CHANNELS 테이블 : 11건

. CUSTOMERS 테이블 : 약 1백만건


# 인덱스 

. SALES테이블에서 아래 인덱스 생성

: CREATE INDEX SALES_IDX_01 ON SALES(SEL_DATE DESC) ; 


. CHANNELS 테이블에서 CHANNEL_ID 컬럼은 PK로 지정됨

. CUSTOMERS 테이블에서 CUST_NUM 컬럼은 PK로 지정됨

####################################################


 

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

sales 테이블에 (channel_id, sel_date) 로 결합인덱스 만들고

 - (channel_id, sel_date, cust_num) 으로 만들면 효과가 더 있을 듯 하고

 - 인덱스는 굳이 DESC 로 만들 필요는 없습니다.

sales 테이블만으로 페이징 한 후에 다른 테이블과 NL 조인

마농(manon94)님이 2024-06-18 13:09에 작성한 댓글입니다.
이 댓글은 2024-06-18 14:58에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
41998oracle to postgresql dblink (odbc) 로 데이터 조회 시 한글깨짐현상. [1]
디비에이
2024-07-10
215
41997CASE문 쿼리 문의 드립니다 [2]
group
2024-07-05
240
41996인덱스 사용 후 Cost 값 증가 [1]
테사자
2024-06-25
223
41993쿼리수행시간 문의 [1]
열심히하자
2024-06-18
241
419921년이상 연속된 일자 가져오기 관련 질문입니다. [2]
조기영
2024-06-07
259
41991회사에서도 사용할 수 있는 오라클 프리웨어 GUI 툴 문의 드립니다. [1]
푸른나무
2024-06-04
299
41990MSSQL에서 오라클로 메타변환하는 방법문의드립니다. [1]
새내기
2024-05-23
235
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다