Time 개발자
취소

SQL_튜닝_33

참고소스 https://gitlab.com/kimdongy1000/sqltuningproject EX23 참고 스칼라 서브쿼리 이름에도 알 수 있다 시피 스칼라라는 단어 뜻 자체가 단일 값을 의미합니다 즉 서브 쿼리 결과가 반드시 하나의 값으로 귀결되어야 합니다 쿼리 SELECT empno, ename, sal...

SQL_튜닝_32

참고소스 https://gitlab.com/kimdongy1000/sqltuningproject EX22 참고 View 쿼리 하나의 쿼리를 뭉뚱그려셔 view 쿼리라고 부르게 됩니다 예를 들어서 다음과 같은 쿼리에서 view 쿼리는 이런 모양입니다 SELECT c.고객번호 , c.고객명 , t.평균거래 , t.최소거래 , t.최대거래 from ...

SQL_튜닝_31

참고소스 https://gitlab.com/kimdongy1000/sqltuningproject EX21_Pushing 참고 서브쿼리 Pushing ******************************************************************************** SELECT /*+leading(p) use_nl(t)...

SQL_튜닝_30

서브 쿼리와 조인 메인 쿼리와 서브 쿼리 간에는 부모와 자식이라는 종속적이고 계층적인 관계가 존재한다 서브 쿼리는 메인 쿼리에 종속되므로 단독으로 실행할 수 없으며 메인 쿼리 건수만큼 값을 받아 반복적으로 필터링하는 방식으로 실행해야 한다 스크립트 -- EMP 테이블 생성 CREATE TABLE EX_20_EMP ( EMP_ID NUMBE...

SQL_튜닝_29

서브 쿼리 조인 앞에서 NL 조인, 소트 머지 조인, 해시 조인 세 가지를 배웠는데 실무에 있다 보면 서브 쿼리 조인이라는 것이 있다 이 서브쿼리는 옵티마이저가 다양한 형태로 쿼리 변환을 시도하므로 서브 쿼리 조인을 이해하는 출발점은 쿼리 변환에서 찾아야 한다 서브 쿼리 변환이 필요한 이유 하나의 결과 집합을 얻기 위해 SQL 을 여러 가지 다른 형...

SQL_튜닝_28

해시 조인 NL 조인은 인덱스를 이용한 조인 방식임으로 인덱스 구성에 따른 성능 차이가 심하다 인덱스를 아무리 완벽하게 구성해도 랜덤 I/O 때문에 대량 데이터 처리에 불리하고 버퍼캐시 히트율에 따라 들쭉날쭉한 성능을 보인다 소트 머지와 해시 머지는 인덱스를 이용하지 않기 때문에 일정한 성능을 보인다 소트 머지 단점 앞에서 말했지만 소트 머지는 기본...

SQL_튜닝_27

소트 머지 조인 조인 컬럼에 인덱스가 없을 때 대량 데이터 조인이어서 인덱스가 효과적이지 않을 때 옵티마이저는 NL 조인 대산 소트 머지 조인이나 해시 조인을 사용합니다 SGA VS PGA 오라클 공유 메모리 영역인 SGA 캐시 된 데이터는 여러 프로세스가 공유할 수는 있지만 한 번에 하나의 래치만 동작해서 해시를 하고 결과 셋을 줍니다 즉 여러 프...

SQL_튜닝_26

소스 https://gitlab.com/kimdongy1000/sqltuningproject 대량데이터 NL 조인 연습 이번 시간에는 대량 데이터를 넣고 한번 NL 조인 튜닝에 대해서 심층 분석을 해보자 간단 스키마 DROP TABLE Ex18_emp CREATE TABLE Ex18_emp( emp_code VARCHAR(100) PR...

SQL_튜닝_25

소스 https://gitlab.com/kimdongy1000/sqltuningproject NL 조인의 실행계획 제어 기본적으로 NL 조인을 제어할 때는 use_nl이라는 힌트를 사용합니다 SELECT /*+ ordered use_nl(C)*/ * FROM Ex17_emp_model E INNER JOIN Ex17_custom_model C ...

SQL_튜닝_24

들어가기 앞서 우리는 앞에서 단일 테이블에서 인덱스를 어떻게 할지 이에 대해서 상당히 많은 예제와 트레이서 로그를 활용해서 보았다 하지만 실무에서는 거의 대부분 테이블이 여러 개로 조인된 상태로 개발을 진행을 하게 된다 이번 시간부터는 조인 테이블에 대해서 알아보자 NL 조인 조인의 기본은 NL 조인이다 NL 조인은 인덱스를 이용하는 조인이기 때문에...