BAD: 0.429ms, hit=17
전체 카운트 후 존재 확인
SELECT COUNT(*) >= 1 AS has_order
FROM startdbpg.tr_ord_big o
WHERE o.mbr_id = 'M00001'
;
SQL
복사
실행계획 보기
•
존재 여부만 필요한데 COUNT(*)로 조건에 맞는 전체 행을 집계합니다.
◦
DB 내부적으로 전체 카운트가 수행됩니다.
GOOD: 0.245ms, hit=5
존재 확인
SELECT EXISTS
(
SELECT 1
FROM startdbpg.tr_ord_big o
WHERE o.mbr_id = 'M00001'
) AS has_order
;
SQL
복사
실행계획 보기
•
EXISTS를 사용하면 첫 번째 일치 행을 찾는 즉시 존재 여부를 판단할 수 있습니다.
KEY POINT
•
존재 여부만 필요한 경우, 전체 건수를 집계하는 COUNT(*)보다 EXISTS를 우선 사용합니다.
•
EXISTS는 조건에 맞는 첫 행을 찾으면 탐색을 끝낼 수 있습니다. 실행계획에서 실제 처리 행 수와 버퍼 사용량을 비교해 효과를 확인합니다.


