1. 아래의 SQL을 튜닝하시오
SELECT COUNT(*)
FROM 구매내역 A, 결제내역 B
WHERE A.주문번호 = B.주문번호
AND B.주문코드 = 'O801'
AND B.주문일시 BETWEEN :FROM ||'000000'
AND :TO ||'235959'
AND A.주문번호 IN
( SELECT 주문번호
FROM 구매내역
MINUS
SELECT 주문번호
FROM 구매취소내역
WHERE 판매센터ID = :CENTER_ID
)
;
-------------------------------------------------------------------------------------------
|Id|Operation |Name |Starts|E-Rows|A-Rows| A-Time |Buffers |
-------------------------------------------------------------------------------------------
| 0|SELECT STATEMENT | | 1| | 1|00:00:00.53| 3042|
| 1| SORT AGGREGATE | | 1| 1| 1|00:00:00.53| 3042|
| 2| FILTER | | 1| | 11405|00:00:00.47| 3042|
| 3| HASH JOIN | | 1| 11681| 11405|00:00:00.46| 3042|
| 4| HASH JOIN | | 1| 11681| 11412|00:00:00.08| 1559|
| 5| INDEX RANGE SCAN |결제내역_IX3 | 1| 11482| 11412|00:00:00.01| 78|
| 6| INDEX FAST FULL SCAN |구매내역_PK | 1| 459K| 459K|00:00:00.01| 1481|
| 7| VIEW |VW_NSO_1 | 1| 459K| 458K|00:00:00.21| 1483|
| 8| MINUS | | 1| 458K| 458K|00:00:00.21| 1483|
| 9| SORT UNIQUE | | 1| 459K| 459K|00:00:00.21| 1481|
|10| INDEX FAST FULL SCAN |구매내역_PK | 1| 459K| 459K|00:00:00.01| 1481|
|11| SORT UNIQUE | | 1| 115| 174|00:00:00.01| 2|
|12| INDEX RANGE SCAN |구매취소내역_IX2| 1| 115| 178|00:00:00.01| 2|
-------------------------------------------------------------------------------------------
2. 위의 서브쿼리는 _________ 로 변형되었다.
'SQL > 퀴즈' 카테고리의 다른 글
| Q5) Delete & Insert 문 튜닝 (0) | 2024.11.11 |
|---|---|
| Q4) 배치쿼리 & ETL (0) | 2024.11.11 |
| Q2) 인덱스 사용 조건 & 계층형 쿼리 (0) | 2024.11.07 |
| emp & dept script (0) | 2024.11.07 |
| Q1) rollup vs cube (0) | 2024.11.07 |