2012-05-30 6 views
2

이제 SQL에서 proc을 수정해야합니다. 유일한 개정판은 nvl 및 to_char 함수를 사용하여 select 절에 열을 추가하고 where 절을 수정하지 않는 것입니다.
내 질문에,이 수정으로 인해 성능 문제가 발생할 수 있습니까?오라클 Nvl과 to_char 함수

는 SQL 데모는 다음과 같다 :

원래 SQL :

Select a.c1, b.c2 from a, b where a.c3=b.c4 

후 수정 :

Select a.c1, b.c2, nvl(to_char(b.c5,'FM00000000'), '.  ') As c5 from a, b where a.c3=b.c4 

감사

답변

0

이 변화가 눈에 띄는 성능이 저하 될 가능성이있다.

오라클 쿼리에서 가장 비용이 많이 드는 부분은 join 및 where 절에 지정된 데이터를 선택하는 것입니다. 너는 그걸 바꾸지 않을거야. 반환되는 행 수는 동일합니다. 두 함수 호출로 인해 반환되는 행당 비용은 매우 적을 것이고 행 당 반환되는 데이터가 약간 더 많지만 행 선택에 비해 무시할 수있을 것입니다.

+0

b (c4, c2)에 인덱스가 있고 인덱스 만 검색을 사용하는 실행 계획이있는 경우 눈에 띄는 영향을 미칠 수 있습니다. –