소프트 파싱을 지원하기 위해 실행 계획이 저장되는 메모리 영역은 패치 캐시(Plan Cache) 또는 **SQL 캐시(SQL Cache)**라고 합니다.
쿼리 변환 :
리터럴 변환 (Literal Transformation) : SQL 문에서 상수 값을 변수로 변환
조인 변환 (Join Transformation) : 다양한 조인 순서를 시도
서브쿼리 변환 (Subquery Transformation) : 다양한 조인 순서와 방법을 시도할 수 있어서..
집합 연산자 변환 : union => union all , minus => not exist
인라인 뷰 변환 (Inline View Transformation)
비교 연산자 변환 (Comparison Operator Transformation)
통계 수집 명령 :
RUNSTATS ON TABLE schema_name.table_name;
RUNSTATS ON TABLE schema_name.table_name AND INDEXES ALL;
RUNSTATS ON TABLE schema_name.table_name ON COLUMNS (column_name1, column_name2);
RUNSTATS ON TABLE schema_name.table_name WITH DISTRIBUTION AND SAMPLE 10; --샘플링을 사용한 통계 수집
실행 계획을 생성하고 확인하는 명령어 :
EXPLAIN PLAN FOR
<SQL 쿼리>;
--실행 계획을 조회
SELECT * FROM EXPLAIN_INSTANCE;
SELECT * FROM EXPLAIN_STATEMENT;
SELECT * FROM EXPLAIN_OPERATOR;
--db2exfmt 명령어로 실행 계획
db2exfmt -d <DATABASE_NAME> -o <OUTPUT_FILE> -1
'DB & SQL' 카테고리의 다른 글
[DB2] Join Method, Sort 실행계획 operation, memory (1) | 2024.09.26 |
---|---|
[DB2] 인덱스 종류와 Scan 종류 (0) | 2024.09.24 |
[MS SQL Server ] 실행계획 (0) | 2024.09.24 |
SQL Server, PostgreSQL, MariaDB의 연결 관리 방식 (0) | 2024.08.14 |
[oracle] MATERIALIZED VIEW (0) | 2024.08.13 |