본문 바로가기

DB

FBI (Function-Based Index) 조회 테스트

반응형

FBI 를 생성시에 UDF(User Define Function)을 이용할경우

-- 해당 예제에서는 암/복호화 함수

 

테스트 테이블은 암호화 되어 plugin 제품 사용을 가정.

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

인덱스가 생성되지 않은 상태에서 실행계획 확인.

 

 

솔루션을 통한 FBI 생성 후 실행계획 확인

 

View 통한 equal 검색시 cost 88 -> 54 줄어듬

 

인덱스 삭제 like 테스트

 

 

 

Like 검색시에도 cost 감소 84 -> 79

 

 

인덱스 삭제 in 테스트

 

In 검색시 cost 감소 93 -> 78

 

 

FBI 아닌 일반 인덱스 생성 암호화 함수로 테스트

 

 

Equal

 

In

 

 

In 조건에 1개의 값만 넣었을 경우 index 스캔 가능

-- 이경우에는 IN 조건에 한개의 값만 들어가므로 equal 과 동일한 것으로 보임.

 

 

2 이상의 값이 들어가면 Full table scan .

오히려 FBI 생성 VIEW 에서 조회하는게 빠른 결과를 보임.

 

 

 

FBI 타고 들어가는 View 에서 in 검색한 경우 78 Cost

일반 인덱스 타고 들어가는 _DAMO 테이블에서 in 검색한 경우 93 Cost

 

힌트를 사용하여 강제로 인덱스를 타게 경우 COST 234 오히려 늘어나는 것을 확인함.

 

IN 사용시에는 굳이 FBI 를 만들고 강제로 index 를 타게하는 것이 성능면에서 더 떨어지는 것으로 보임.

 

참고 : http://www.gurubee.net/article/68792

반응형

'DB' 카테고리의 다른 글