실행계획 예제

2023. 10. 23. 16:36
728x90
-- ORDERS 테이블에서 반품처리된 건들을 불러온다.
-- MARKET 별로 반품 처리된 건들에 대해서 손실된 이익이 총 얼마인가?
-- ORDERS, RETURNS, PEOPLE (ORDER_ID)
EXPLAIN PLAN FOR 
SELECT R.MARKET, SUM(O.PROFIT)
FROM ORDERS O, RETURNS R
WHERE O.ORDER_ID = R.ORDER_ID
GROUP BY R.MARKET;


-- 실행계획 조회
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);


-- 실행 순서 결과 (3-4-2-1-0)
-- 3L : RETURNS TABLE에 대해 해싱 처리 (pga영역에서)
-- 4L : 3L의 RETURNS 해시값을 갖고와서 ORDERS TABLE에 대해 해싱 처리 (PGA)
-- 2L : HASH JOIN 실행
-- 1L : GROUP BY - SORT 가 아닌 HASH 사용 (COST 감소)
-- 0L : SELECT
728x90

'Database' 카테고리의 다른 글

정규화 (Normalization)  (0) 2021.07.29
Database 개요 (3)  (0) 2021.07.29
Database 개요 (2)  (0) 2021.07.29
Database 개요 (1)  (0) 2021.07.29

BELATED ARTICLES

more