본문 바로가기

힌트3

Exadata 스마트 스캔 힌트로 제어 하기. 스마트 스캔은 이전글을 참고해주세요. https://bae9086.tistory.com/332 Smart Scan(Cell offload) Exadata의 강력한 기능 중 하나인 Smart Scan 스토리지에서 DB 서버로의 데이터 전송을 최소화 하기 위한 개념 및 기능. 사용자가 필요로 하는 최소한의 데이터를 읽고 선별하여 전송하는 방법 Smart Sca bae9086.tistory.com 힌트로 제어가 가능한지. 그러면 어떻게 확인할 수 있는지 테스트로 정리해보겠습니다. SQL 레벨에서 힌트 사용[dbms_sqltune.report_sql_monitor] 으로 제어 할 수 있고, 1)dbms_sqltune.report_sql_monitor 의 global_stats 부분을 보거나 2) v$sql_st.. 2024. 1. 13.
조건절 pushdown 과 서브쿼리 Unnesting 공부하면서 헷갈렸던 두 개념입니다. 서브쿼리 Unnest? 동일한 결과를 보장하는 조인문으로 변환하고 나서 최적화합니다. (즉, 서브쿼리를 조인문처럼 수행한다는 뜻입니다) NO_UNNEST는 서브쿼리를 원래대로 둔 상태에서 최적화합니다. 메인쿼리와 서브쿼리를 별도의 서브플랜으로 구분해 각각 최적화를 수행하며, 이때 서브쿼리에 필터 오퍼레이션이 나타납니다. 관련 힌트 UNNEST : 조인방식으로 유도 NO_UNNEST : 메인-서브쿼리 방식으로 유도 10g부터는 서브쿼리 Unnesting이 비용기반 쿼리변환 방식으로 전환되었습니다. NO_UNNEST 힌트 예제 no_unnest 힌트를 사용하면 FILTER 조건으로 서브쿼리가 마지막에 처리되는 것을 확인할 수 있습니다. (ID=5) select * from.. 2021. 8. 25.
4.4 옵티마이저 힌트 힌트의 사용법 MariaDB에서 옵티마이저 힌트는 종류별로 그 사용 위치가 정해져 있는데, 두가지 방법이 있습니다. 이 두가지 방법모두 잘못 사용할 경우 오류를 발생시키게 됩니다. 오라클 처럼 힌트가 주석의 일부로 해석되는 것이 아니라 SQL의 일부로 해석(설령 힌트가 주석안에 표기되었다 하더라도)되기 때문입니다. 사용법1 SELECT * FROM employees USE INDEX (primary) WHERE emp_no=10001; 사용법2 SELECT * FROM employees /*! USE INDEX (primary) */ WHERE emp_no=10001; 첫번째 예제에서는 별도의 주석 표기 없이 SQL 문장의 일부로 작성하는 방식이며, 두 번째 예제는 MariaDB에서 힌트를 위한 주석 표.. 2021. 6. 14.