새로쓴 대용량 데이터베이스솔루션 1 (2011년)
Hints for Join Orders 0 0 31,894

by 구루비스터디 Hint 힌트 LEADING ORDERED [2023.10.13]


Hints for Join Orders


LEADING

SELECT /*+ LEADING(T2) */ *
  FROM T1, T2
 WHERE T1.N4 = T2.N4
   AND T1.N2 = 50;

-------------------------------------------------------------------------------------
| Id  | Operation                    | Name | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |      |    11 |   308 |     5   (0)| 00:00:01 |
|   1 |  NESTED LOOPS                |      |       |       |            |          |
|   2 |   NESTED LOOPS               |      |    11 |   308 |     5   (0)| 00:00:01 |
|   3 |    TABLE ACCESS FULL         | T2   |    11 |   154 |     2   (0)| 00:00:01 |
|*  4 |    INDEX RANGE SCAN          | T1N2 |    10 |       |     1   (0)| 00:00:01 |
|*  5 |   TABLE ACCESS BY INDEX ROWID| T1   |     1 |    14 |     1   (0)| 00:00:01 |
-------------------------------------------------------------------------------------

-- 추천, 조인 순서 만 지정, 방법은 별도 지정 필요 (USE_NL, USE_HASH...)
-- http://ukja.tistory.com/166


ORDERED

SELECT /*+ ORDERED */ *
  FROM T1, T2
 WHERE T1.N4 = T2.N4
   AND T1.N2 = 50;

--------------------------------------------------------------------------------------
| Id  | Operation                     | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |      |    17 |   476 |     2   (0)| 00:00:01 |
|   1 |  NESTED LOOPS                 |      |       |       |            |          |
|   2 |   NESTED LOOPS                |      |    17 |   476 |     2   (0)| 00:00:01 |
|   3 |    TABLE ACCESS BY INDEX ROWID| T1   |     2 |    28 |     1   (0)| 00:00:01 |
|*  4 |     INDEX RANGE SCAN          | T1N2 |    10 |       |     1   (0)| 00:00:01 |
|*  5 |    INDEX RANGE SCAN           | T2N4 |    11 |       |     1   (0)| 00:00:01 |
|   6 |   TABLE ACCESS BY INDEX ROWID | T2   |    11 |   154 |     1   (0)| 00:00:01 |
--------------------------------------------------------------------------------------

-- 비추, 하지만 LEADING 보다 강함

"구루비 데이터베이스 스터디모임" 에서 2011년에 "새로쓴 대용량 데이터베이스 솔루션1" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/4442

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입