-- [SQL-8-3-1-a]
EXPLAIN (ANALYZE,COSTS OFF)
SELECT /*+ NestLoop(t1 t2) */
t1.mbr_id ,t1.nick_nm ,t2.ord_dtm ,t2.ord_amt
FROM startdbpg.ms_mbr_big t1
INNER JOIN startdbpg.tr_ord_big t2
ON (t1.mbr_id = t2.mbr_id)
WHERE t1.mbr_gd = 'PLAT'
AND t2.ord_dtm >= '2023-01-01'::date
AND t2.ord_dtm < '2025-01-01'::date;
SQL
복사
-- [SQL-8-3-1-b]: [SQL-8-3-1-a]의 힌트만 MergeJoin으로 변경하여 실행
EXPLAIN (ANALYZE,COSTS OFF)
SELECT /*+ MergeJoin(t1 t2) */
t1.mbr_id ,t1.nick_nm ,t2.ord_dtm ,t2.ord_amt
FROM startdbpg.ms_mbr_big t1
INNER JOIN startdbpg.tr_ord_big t2
ON (t1.mbr_id = t2.mbr_id)
WHERE t1.mbr_gd = 'PLAT'
AND t2.ord_dtm >= '2023-01-01'::date
AND t2.ord_dtm < '2025-01-01'::date;
SQL
복사
-- [SQL-8-3-1-c]: [SQL-8-3-1-a]의 힌트를 제거
EXPLAIN (ANALYZE,COSTS OFF)
SELECT t1.mbr_id ,t1.nick_nm ,t2.ord_dtm ,t2.ord_amt
FROM startdbpg.ms_mbr_big t1
INNER JOIN startdbpg.tr_ord_big t2
ON (t1.mbr_id = t2.mbr_id)
WHERE t1.mbr_gd = 'PLAT'
AND t2.ord_dtm >= '2023-01-01'::date
AND t2.ord_dtm < '2025-01-01'::date;
SQL
복사
