Query Processing 2
2019-04-29 유동호
Access Method - Sequential Scan
• 각 테이블의 페이지마다…

• Buffer Pool 로 가져와 데이터를 탐색

• 각 튜플을 반복(Iterate)해가면서 해당 튜플이 필요(?)한지를 판단

• DBMS 가 쿼리를 실행시키는 상황에서 거의 항상 최악의 경우

• 몇가지 Optimization
Optimization - Zone Maps
• 각 페이지마다 속성 값을 미리 계산해놓는다.

• DBMS 는 쿼리 실행에 해당 페이지의 엑세스가 필요한지를 우선 zone map 을 확인하여 결정한다.

• 원래 데이터를 가진 페이지와 분리된 다른 페이지에 저장하며, 저장되는 데이터의 크기가 작기 때문에 하나의
Zone map 페이지에 여러 페이지의 결과 데이터를 저장한다.
Optimization - Late Materialization
Multi-Index Scan
만약 DBMS 가 쿼리를 위해 사용할 수 있는 다중 Index 가 있다면

• 각각의 매칭되는 인덱스를 이용해 Record ID 의 셋을 계산한다.

• 쿼리의 기술에 기초해 위의 셋을 결합시킨다(union vs. intersect).

• 결합된 레코드를 탐색한 다음 남은 과정을 진행한다.
Index Scan Page Sorting
인덱스는 ID 에 대해 순서가 정해져 있지 않다.

따라서 인덱스 스캔으로 가져온

Record ID 셋으로 튜플 스캔을 진행할 때,

페이지 fetch 에 있어 효율적이지 못할 수 있다
Expressing Evaluation
Expressing Evaluation

More Related Content

PPTX
효율적인Sql작성방법 4주차
PPTX
실무로 배우는 시스템 성능 최적화 Ch6
PPTX
오라클 DB 아키텍처와 튜닝
PDF
SQL Server Access Patterns
PDF
Database 튜닝 교육 110124
PPTX
효율적인Sql작성방법 2주차
PDF
Fundamentals of Oracle SQL
PPTX
DBMS 아키텍처
효율적인Sql작성방법 4주차
실무로 배우는 시스템 성능 최적화 Ch6
오라클 DB 아키텍처와 튜닝
SQL Server Access Patterns
Database 튜닝 교육 110124
효율적인Sql작성방법 2주차
Fundamentals of Oracle SQL
DBMS 아키텍처

More from Dongho Yu (19)

PDF
2019 lightning talk_12
PDF
2019 lightning talk_10
PDF
2019 lightning talk_9
PDF
2019 lightning talk_8
PDF
2019 ligntning talk_7
PDF
2019 lightning talk_6
PDF
2019 lightning talk_5
PDF
2019 lightning talk_4
PDF
2019 lightning talk_3
PDF
2019 lightning talk_2
PDF
2019 lightning talk_1
PDF
Cache
PDF
Main memory
PPTX
Control unit
PPTX
Instruction cycle
PPTX
Cpu basic
PPTX
Computer system
PPTX
Breadth first search
PPTX
Intro to algorithms
2019 lightning talk_12
2019 lightning talk_10
2019 lightning talk_9
2019 lightning talk_8
2019 ligntning talk_7
2019 lightning talk_6
2019 lightning talk_5
2019 lightning talk_4
2019 lightning talk_3
2019 lightning talk_2
2019 lightning talk_1
Cache
Main memory
Control unit
Instruction cycle
Cpu basic
Computer system
Breadth first search
Intro to algorithms
Ad

2019 lightning talk_11

  • 2. Access Method - Sequential Scan • 각 테이블의 페이지마다… • Buffer Pool 로 가져와 데이터를 탐색 • 각 튜플을 반복(Iterate)해가면서 해당 튜플이 필요(?)한지를 판단 • DBMS 가 쿼리를 실행시키는 상황에서 거의 항상 최악의 경우 • 몇가지 Optimization
  • 3. Optimization - Zone Maps • 각 페이지마다 속성 값을 미리 계산해놓는다. • DBMS 는 쿼리 실행에 해당 페이지의 엑세스가 필요한지를 우선 zone map 을 확인하여 결정한다. • 원래 데이터를 가진 페이지와 분리된 다른 페이지에 저장하며, 저장되는 데이터의 크기가 작기 때문에 하나의 Zone map 페이지에 여러 페이지의 결과 데이터를 저장한다.
  • 4. Optimization - Late Materialization
  • 5. Multi-Index Scan 만약 DBMS 가 쿼리를 위해 사용할 수 있는 다중 Index 가 있다면 • 각각의 매칭되는 인덱스를 이용해 Record ID 의 셋을 계산한다. • 쿼리의 기술에 기초해 위의 셋을 결합시킨다(union vs. intersect). • 결합된 레코드를 탐색한 다음 남은 과정을 진행한다.
  • 6. Index Scan Page Sorting 인덱스는 ID 에 대해 순서가 정해져 있지 않다. 따라서 인덱스 스캔으로 가져온 Record ID 셋으로 튜플 스캔을 진행할 때, 페이지 fetch 에 있어 효율적이지 못할 수 있다