DBA가 되고 싶은 병아리
서브쿼리와 성능 문제 이해하기(1) 본문
서비쿼리에 대한 기본 내용 이해하기
서브쿼리란?
Where절에 비교조건으로 사용되는 Select 쿼리
서브쿼리를 이용하여 절차적인 SQL 작성이 쉽다
서브쿼리를 사용하지 않고 조인으로 처리가 가능한 SQL임에도 불구하고, 단지 SQL 작성이 쉽다는 이유하나만으로
서브쿼리를 남용 할 경우 => 성능문제가 발생할 가능성이 있음
SQL에 서브쿼리가 여러 개 존재할 경우, Optimizer가 최적화 과정에서 잘못된 Cost 계산을 하는 경우가 많이 발생
서브쿼리를 사용해야 할 경우
서브쿼리를 사용해야 의도한 결과 값을 가져올 수 있는 경우
서브쿼리를 이용할 경우 성능이 좋아지는 SQL
=>두 가지 경우가 아니라면 Join으로 작성하는 것이 Optimizer에게 더 좋다.
서브쿼리의 개수가 많은 SQL -> 비효율적인 실행계획이 수립될 가능성이 있음
-> 사용은 해도 되나 동작방식이나 발생 가능한 성능 문제에 대한 이해 없이 무분별하게 사용하는 것은 좋지 않음
'Oracle Study > Performance Tuning' 카테고리의 다른 글
성능과 관련이 있는 뷰, 파라메터 등. (0) | 2021.02.23 |
---|---|
Session cached cursors Hit Ratio (0) | 2016.06.24 |
About the Database Buffer Cache (0) | 2016.06.24 |
SQL 튜닝의 시작은? (0) | 2015.03.02 |
inline view의 잘못된 사용은 하지 말자. (0) | 2012.02.03 |