IT468 04 쿼리변환 - 서브쿼리 Unnesting 쿼리변환이란? 결과가 동일하더라도 SQL문을 여떤 형태로 작성하느냐에 따라 성능에 차이가 날 수 있으며 쿼리 옵티마이저가 SQL을 분석해 의미적으로 동일하면서도 더 나은 성능이 개대되는 형태로 재작성하는 것을 말합니다. 옵티마이저의 서브엔진으로서 Query Transformer,Estimator,Plan Generator가 있는데 이중 Query Transformer가 그 역할을 담당합니다. 쿼리변환은 두가지 방식으로 작동합니다. 휴리스틱 쿼리변환 : 결과만 보장된다면 무조건 쿼리변환을 수행합니다. 일종의 규칙기반 최적화기법이라고 할 수 있습니다. 비용기반 쿼리변환 : 변환된 쿼리의 비용이 더 낮을 때만 그것을 사용하고, 그렇지 않을 때는 원본 쿼리 그대로 두고 최적화를 수행합니다. 서브쿼리 Unnest.. 2021. 8. 30. 계층형 쿼리 오라클에서 사용할 수 있는 쿼리 구문. 한 테이블에 담겨있는 레코드들이 상,하관계를 이루며 존재할 때 이 관계에 따라 레코드를 표현할 수 있는 구문입니다. EMP 테이블로 테스트 해보며 정리해보겠습니다. SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEP ----- ---------- --------- ----- ------------------- --------- --------- --- 7369 SMITH CLERK 7902 2020/11/19 20:08:48 800 20 7499 ALLEN SALESMAN 7698 2020/11/19 20:08:48 1600 300 30 7521 WARD SALESMAN 7698 2020/11/19 .. 2021. 8. 26. 조건절 pushdown 과 서브쿼리 Unnesting 공부하면서 헷갈렸던 두 개념입니다. 서브쿼리 Unnest? 동일한 결과를 보장하는 조인문으로 변환하고 나서 최적화합니다. (즉, 서브쿼리를 조인문처럼 수행한다는 뜻입니다) NO_UNNEST는 서브쿼리를 원래대로 둔 상태에서 최적화합니다. 메인쿼리와 서브쿼리를 별도의 서브플랜으로 구분해 각각 최적화를 수행하며, 이때 서브쿼리에 필터 오퍼레이션이 나타납니다. 관련 힌트 UNNEST : 조인방식으로 유도 NO_UNNEST : 메인-서브쿼리 방식으로 유도 10g부터는 서브쿼리 Unnesting이 비용기반 쿼리변환 방식으로 전환되었습니다. NO_UNNEST 힌트 예제 no_unnest 힌트를 사용하면 FILTER 조건으로 서브쿼리가 마지막에 처리되는 것을 확인할 수 있습니다. (ID=5) select * from.. 2021. 8. 25. Linked Server 기능 사용하여 Oracle 테이블에 데이터 넣기 이전에 MSSQL - ORACLE 간의 Link 연결하여 쿼리로 Oracle의 테이블을 조회하는 설정을 하는 법을 포스팅하였습니다. https://bae9086.tistory.com/128?category=825640 MSSQL to Oracle DB Link MSSQL에서 Oracle의 정보를 가져와야 할 일이 생겨 DB link가능 여부를 체크하고 테스트했던것을 정리하는 글입니다. 참고 사이트 : www.sqlshack.com/link-sql-server-oracle-database/ Link a SQL Server to an.. bae9086.tistory.com 이번에는 이렇게 연결된 Linked Server를 사용하여 MSSQL에서 Oracle의 테이블쪽에 INSERT하는 쿼리를 정리하겠습니다... 2021. 8. 23. 이전 1 ··· 43 44 45 46 47 48 49 ··· 117 다음