본문 바로가기
728x90

쿼리 최적화16

[ORACLE] ALL_MVIEW_ANALYSIS 완전 정복 : MV 리라이팅 분석과 활용 전략 Oracle 데이터베이스의 물리적 뷰(Materialized View, MV)는 집계, 조인, 복잡한 쿼리의 결과를 사전 저장함으로써 질의 성능을 획기적으로 개선할 수 있습니다. 그러나 성능 향상의 핵심은 단순히 MV를 만드는 데 있지 않고, 실제 쿼리 수행 시 해당 MV가 자동으로 재작성(query rewrite)되어 사용될 수 있느냐에 달려 있습니다. ALL_MVIEW_ANALYSIS 뷰는 바로 이러한 MV 리라이팅 가능 여부를 사전 분석하고, 어떤 제약 조건으로 인해 MV가 사용되지 않는지를 확인할 수 있는 중요한 도구입니다.ALL_MVIEW_ANALYSIS란?ALL_MVIEW_ANALYSIS는 사용자가 접근 가능한 물리적 뷰에 대해, 해당 뷰가 질의 재작성(Query Rewrite)에 사용 가능한.. 2025. 6. 24.
[ORACLE] EXPLAIN PLAN()으로 SQL 실행 계획 정확히 읽는 법 데이터베이스의 성능은 곧 서비스의 품질과 직결됩니다. 특히 Oracle Database를 운용하는 환경에서 쿼리의 성능을 정확하게 진단하고 최적화하는 과정은 필수입니다. 이 글에서는 EXPLAIN PLAN을 활용해 SQL 실행 계획을 분석하고, 성능을 향상시키는 구체적인 방법을 전문가의 시각에서 상세히 설명합니다.1. EXPLAIN PLAN이란?EXPLAIN PLAN은 Oracle SQL 쿼리를 실행하기 전, 옵티마이저가 어떤 방식으로 쿼리를 실행할지 예측한 실행 계획을 보여주는 기능입니다. 실제 실행 결과가 아니라, 실행될 계획을 확인함으로써 쿼리의 병목현상이나 불필요한 Full Table Scan 등을 사전에 감지할 수 있습니다.2. EXPLAIN PLAN의 기본 사용법EXPLAIN PLAN FORS.. 2025. 6. 14.
[ORACLE] NVL2() 함수로 NULL 유무에 따른 조건 처리 쉽게 구현하기 1. NVL2 함수란?Oracle SQL에서 NVL2() 함수는 주어진 표현식이 NULL이 아닌 경우와 NULL인 경우를 구분하여 각각 다른 결과를 반환할 수 있도록 해주는 조건 분기 함수입니다. IF-ELSE와 유사한 형태를 SQL 내에서 간단히 구현할 수 있어 실무에서 매우 유용하게 사용됩니다. 기본 문법은 다음과 같습니다:NVL2(expr1, expr2, expr3)expr1: NULL 여부를 판단할 값expr2: expr1이 NULL이 아닐 경우 반환expr3: expr1이 NULL일 경우 반환2. 기본 사용 예제다음은 직원의 보너스가 있는 경우와 없는 경우를 구분하여 다른 메시지를 출력하는 예제입니다.SELECT EMPLOYEE_NAME, BONUS, NVL2(BONUS, .. 2025. 6. 7.
[ORACLE] MIN() 함수 사용법과 GROUP BY 절 실전 적용 Oracle SQL의 MIN() 함수는 집계 함수(Aggregate Function) 중 하나로, 주어진 칼럼에서 가장 작은 값을 반환합니다. 숫자형, 날짜형, 문자열 데이터에도 모두 적용 가능하며, 실무에서 자주 사용되는 강력한 함수입니다. 이 글에서는 MIN 함수의 기초부터 고급 활용까지 실무 예제를 중심으로 설명합니다.1. MIN() 함수란?MIN() 함수는 지정된 칼럼 내에서 가장 작은 값을 반환합니다. NULL 값은 제외되며, 숫자, 날짜, 문자열 모두 사용 가능합니다.SELECT MIN(salary) FROM employees;2. 숫자형 데이터에 적용가장 낮은 급여를 찾고 싶을 경우 다음과 같이 사용합니다.SELECT MIN(salary) AS min_salary FROM employees;.. 2025. 6. 1.
728x90