본문 바로가기

튜닝13

Join Factorization Oracle에서 or 조건을 처리하는 연산으로 OR-EXPANSION이라고 불리우는 동작이 있습니다. UNION ALL 로 풀어서 작업을 수행하는 CONCATENATION.or-expansion이라고 합니다. 힌트는 /*+ USE_CONCAT */를 사용합니다. UNION ALL로 풀지말고 수행하는 CONCAT을 방지하는 힌트는 /*+ NO_EXPAND */ 가 있습니다. 두 힌트에 대한 내용은 아래 사이트에서 설명한 내용을 해석하였습니다. USE_CONCAT USE_CONCAT 힌트는 UNION ALL 집합 연산자를 사용하여 쿼리의 WHERE 절에 있는 결합된 OR 조건을 복합 쿼리로 변환하도록 강제합니다. 일반적으로 이러한 변환은 연결을 사용하는 쿼리의 비용이 연결을 사용하지 않는 비용보다 저렴한 경.. 2022. 10. 28.
실행계획에서 Sort 연산 관련 종류 실행계획에서 보이는 Sort연산 관련 설명 Sort Aggregate - 전체 로우를 집계할 경우 (SELECE MAX(A),AVG(B),SUM(C) from AAA) Sort Order by - 데이터를 정렬할 경우 ( SELECE A,B,C from AAA ORDER BY A) Sort Group by - 소팅 알고리즘을 통해 그룹별 집계를 할 경우 (SELECT A,SUM(B) FROM AAA GROUP BY A ORDER BY A) Sort Unique - 서브쿼리절이 Unnesting 되는 경우, Union, Munus 등의 연산인 경우, Distinct 연산 후 Order by절을 사용 Sort Join - Sort Merge Join 하는 경우 Window Sort - Window 함수를 사.. 2021. 12. 14.
Statspack Statspack이란? Oracle이 리소스 사용량의 분석이나 성능 분석을 위해서 사용하는 Tool로써 UTLBSTAT/UTLESTAT이 제공하는 기능을 수정/보완하여 Oracle 8.1.6버전부터 제공하고 있는 무료 Tool입니다. 특징 Oracle DB내의 특정 시간대의 데이터베이스에 대한 성능과 관련 데이터를 수집하여 DB에 저장하여 두고 이로부터 성능 분석 report를 생성해 내는 script로 구성되어 있습니다. Spcreate.sql : Statspack설치 script Spreport.sql : reporting script spdoc.txt : 영문 사용자 매뉴얼 Sppurge.sql : delete statspack data script Spdrop.sql : drop statspack.. 2021. 6. 22.
실행계획 확인하기,실제 실행계획 확인하기 실행계획을 확인하는 방법에는 여러가지가 있습니다. 그 중에서 간단하게 확인할 수 있는 방법을 포스팅하겠습니다. 실행계획 확인하기 1.쿼리 수행시 explain plan for 적기 해당 명령문을 포함하여 쿼리를 실행하면 결과값이 나오지 않고, statement processed라는 명령어가 나옵니다. 이 명령어는 SQL의 예상 실행계획을 만들어서 PLAN 테이블에 저장하기만 합니다. PLAN테이블에 저장된 실행계획은 DBMS_XPLAN.DISPLAY명령어를 사용해서 확인 할 수 있습니다. SQL> explain plan for select * from emp where employee_id = 100; Statement Processed. SQL Execution Time > 00:00:00.000 2... 2020. 12. 22.