DATOR


11g BYPASS_UJVC 힌트 대안

오라클 11g 이상부터 BYPASS_UJVC 힌트를 사용할수가 없어서 급 당황하는 경우가 있다.

 

11g 에더 BYPASS_UJVC 힌트 대안입니다.

CREATE TABLE HJ_0907_V01
AS
SELECT OBJ_ID,OBJ_ORDER,ROW_NUMBER() OVER (ORDER BY OBJ_ORDER DESC) AS NO
FROM MET_OBJ
WHERE OBJ_GBN LIKE 'SUB%' 

CREATE UNIQUE INDEX HJ_0907_V01_UK ON HJ_0907_V01 
( 
OBJ_ID 
)
UNUSABLE; -> 요게 포인트입니다. unique 한 인덱스가 존재한다는 정보를 옵티마이저에게 줌으로써 키보존테이블이라는 정보를 제공하는 것입니다.
단, UNUSABLE 옵션을 줌으로써 급 생성이 가능합니다.


UPDATE 
(
SELECT A.OBJ_ID,A.OBJ_ORDER,B.OBJ_ID,B.NO
FROM MET_OBJ A,HJ_0907_V01 B
WHERE A.OBJ_GBN LIKE 'SUB%'
AND A.OBJ_ID = B.OBJ_ID
)
SET OBJ_ORDER=NO;

COMMIT; 

Tag

Leave Comments