DBA가 되고 싶은 병아리

inline view의 잘못된 사용은 하지 말자. 본문

Oracle Study/Performance Tuning

inline view의 잘못된 사용은 하지 말자.

미스틱스 2012. 2. 3. 09:24
프로그램에 많이 사용되는 sql을 뷰로 만들어서 좀더 빠른 속도로 엑세스 하기 위한 것이 인라인 뷰이지만 프로그램을 구성하거나 sql을 구성할때 잘못된 사용과 너무 많은 사용으로 인해서 엑세스 속도를 오히려 저하 시키는 경우가 많은듯 하다.

 오히려 효과적인 작성을 하게 된다면 프로그램(SQL)의 성능을 좀더 향상 시킬수 있음에도 불구하고 많은 사람들이 잘못된 사용으로 데이터베이스의 Optimazer를 괴롭히는 현상이 나타나는 것이다. 효과적으로 사용하기 위해서는 아래의 사항을 자제하게 되면 좀더 낳은 프로그램 혹은 SQL을 작성할수 있다.

 

-인라인 뷰가 주 쿼리로 합쳐지는 병합 가능 인라인 뷰의 사용자제

-인라인 뷰의 반복 사용 자제

 

물론 위의 내용 말고도 올바른 인덱스를 사용한다던가 하는 여러 문제가 남겨져 있지만 일단은 오용으로 인한 폐해는 막을수 있는 것이 사실이다. 인덱스를 사용한다는 것은 해당 SQL의 응답속도에 좌우하므로 매우 중요한 것이다. 인덱스를 선정할때는 where절에 primary키나 혹은 인덱스가 될수 있는 행을 선택하는 것이 좋다.

물론 따로 Index를 정하지 않는다면 주키나 유니크키가 인덱스로 되어 Optimazer가 자동으로 SQL을 다시쓰게 된다.

 

항상 SQL을 작성할때 프로그램을 작성하듯이 절차적인 사고를 가지고서 작성을 하게 되면 인라인뷰의 사용은 급격하게 증가한다. 물론 프로그램을 하면서 절차적인 사고는 바로 집합적인 사고로 변경하는 것은 어렵지만 조금씩이라도 집합적 사고를 가지고 작성하도록 노력하는 것은 매우 중요할 듯 하다.

 

마지막으로 인라인 뷰를 너무 반복적으로 사용하는 것을 자제 하는 것이다. 자바로 JSP를 작성을 해본 사람(DB 개발자)이라면 인라인뷰를 너무 반복적으로 사용할 경우 데이터의 증가로 인한 몇가지 문제점을 먼저 겪었을수도 있다. 인라인 뷰의 사용을 반복적으로 사용하는 것은 자제하고 문제를 해결할 수 있는 방법에 대해 살펴보자.