반응형
서브쿼리 주의하기
서브쿼리는 SQL 내부에서
생성되는 일시적인 테이블이다.
서브쿼리는 유연성 때문에 SQL작성시에
빈번하게 사용되며 실무에서도 없어서는 안될 존재이다.
우선 서브쿼리는 단점들을 보면
1. 연산비용이 추가한다는 거
테이블과 달리 실체적인 데이터를 저장하지 않는다는 것은
서브쿼리 접근시마다 SELECT 구문을 실행해서 데이터를
생성한다는 의미이다.
따라서 SELECT 실행시 발생하는 비용이 추가된다.
2. 데이터 I/O 비용
연산결과를 어딘가에 보관해두어야 한다
메모리 용량이 충분하다면 부담이 적지만
그렇지 않을 경우 DBMS가 저장소에 있는 파일에
결과를 쓸 때도 있다.
3. 최적화문제
구조적으로 테이블과 별다른 차이가 없다
하지만 제약이나 인덱스가 있는 테이블과는 다르게
서브쿼리에는 그런 정보가 없다
따라서 옵티마이저가 쿼리를 해석하기위한 정보를 얻을 수 없다
때문에 결과크기가 크다면 성능리스크를 고려해야한다.
728x90
반응형
'데이터' 카테고리의 다른 글
SSAS 큐브생성시 파티션 자동화 (0) | 2023.03.16 |
---|---|
차원 모델링 뭘 고려해야할까 (0) | 2022.10.29 |
크로스 조인 (0) | 2022.10.28 |
데이터 정규화 간단 정리 (0) | 2022.10.26 |
Nested Loops, Hash 정리 (0) | 2022.10.19 |
댓글