프로그래밍/DB
[Oracle] 오라클 WITH란?
벡스파
2021. 10. 8. 15:57
- 이름이 부여된 서브쿼리. 반복되는 부분을 효과적으로 재사용하기 위해 만든다.
- view 와의 차이점 : view는 만들면 drop할때까지 유지되지만, with문은 쿼리 내에 정의 된 경우 쿼리 안에서만 실행된다.
- 사용 이유 : 처음 한번만 parsing되고 계획수립되므로 자주 사용 시 쿼리 성능향상에 도움된다.
with test_emp as
(
select * from emp
)
select * from test_emp
* mybatis에서 사용시 <sql> 태그와도 같이 사용되며 코드 안에서 include만 선언하면 되어 재사용성이 높아진다.
<sql id="test">
with test_emp as
(
select * from emp
)
<sql>
<select id="getList" parameterType="empVO">
<include refid="test">
select * from test_emp
</select>