WITH절을 사용할 때 주의해야 할 점은?
{+}동시성이 높은 경우 MATERIALIZE 동작방식은 피하자{+}
- MATERIALIZE방식으로 수행되면, Global Temporary Table에 데이터를 저장하고, 데이터를 읽어 처리해야 하므로, control 파일을 읽게 된다.
- control file sequential read라는 Wait Event가 빈번하게 발생하므로 주의해서 사용해야 한다.
{+}추출건수가 많은 경우는 WITH절은 피하자{+}
- MATERIALIZE방식은 추출데이터를 Global Temporary Table에 저장하여 사용하므로, 추출건수가 많은 경우 Global Temporary Table에 대한 읽기/쓰기에 대한 일량이 많으므로, 성능개선의 효과를 볼수 없다.
{+}WITH절 선언부분은 SQL의 가장 앞에 위치시키자{+}
- 데이터 정합성 문제가 발생될 수 있으므로, 반드시 WITH절은 맨 앞에 위치시킨다.