DB&SQL

SQL 튜닝 - Row Source Generator

초롱불 2024. 5. 31. 01:56

개요

이번 글에서는 로우 소스 생성기(Row Source Generator)에 대해 다루어보겠다. 로우 소스 생성기는 실행 계획 생성기의 다음 단계로 볼 수 있다. 실행 계획 생성기가 최적의 계획을 생성하면 이를 로우 소스 생성기에 전달하여 실제로 데이터베이스에서 실행 가능한 반복적 실행 계획을 생성한다. 이를 통해 쿼리가 최적의 성능으로 실행된다.

로우 소스 생성기

로우 소스 생성기는 실행 계획 생성기로부터 최적의 실행계획을 받아 이를 기반으로 실행 가능한 단계별 계획을 생성한다. 각 단계에서 생성된 행 집합(row set)을 다음 단계로 전달하며, 최종적으로 반복적 실행 계획(iterative execution plan)을 만든다.

Row Source란 무엇인가?

로우 소스는 행 집합을 가져오는 영역을 의미한다. 이는 테이블, 뷰, 조인결과, 그룹화 작업의 결봐 등 다양한 형태로 존재할 수 있다. 로우 소스 생성기는 이러한 로우 소스를 모아 로우 소스 트리(row source tree)를 생성한다. 

로우 소스 트리(Row Source Tree)

로우 소스 트리는 각 단계에서 반환되는 행 집합을 다음 단계에서 사용하는 방식으로 생성된다. 기본적으로 로우 소스 생성기는 반복적 실행 계획을 생성한다. 각 단계는 다음과 같은 정보를 포함한다.

  • 테이블의 실행 순서
  • 테이블의 접근 방법
  • 조인 방법
  • 데이터 작업 (필터, 정렬, 집계 등)

결론

이번 글에서는 로우 소스 생성기가 무엇인지, 그리고 어떻게 동작하는지에 대해 다루어보았다. 로우 소스 생성기는 실행 계획 생성기로부터 최적의 실행 계획을 받아 이를 기반으로 실제 실행 가능한 단계별 계획을 생성한다.

 

감상

이번 강의에서 실행 계획을 실제로 조회하는 화면이 있었다. 강의의 내용을 캡쳐하는 것은 문제의 소지가 있을 듯하여 가져오지는 않았다. 스스로 오라클을 설치하고 세팅을 한 상태로 실습하는 것을 활용하는 게 좋을 듯하다. 우선은 오라클 설치파일까지는 받았으니 내일은 정말 설치를 마무리해야할듯하다.