16.1 Introduction

optimizerλŠ” κ°€μž₯ 적은 λΉ„μš©μ˜ query evaluation plan을 μ°ΎκΈ° μœ„ν•΄μ„œ 주어진 ν‘œν˜„μ‹μ— λŒ€ν•΄ 같은 κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λŠ” λ‹€λ₯Έ query evaluation plan을 λ§Œλ“€μ–΄ λ‚Ό ν•„μš”κ°€ μžˆλ‹€. 그런 후에 κ°€μž₯ 적은 λΉ„μš©μœΌλ‘œ μˆ˜ν–‰λ˜λŠ” plan을 μ„ νƒν•œλ‹€. query evaluation plan을 λ§Œλ“€μ–΄ λ‚΄λŠ” 것은 λ‹€μŒμ˜ μ„Έ λ‹¨κ³„λ‘œ 이루어진닀.

  1. λ…Όλ¦¬μ μœΌλ‘œ 주어진 ν‘œν˜„μ‹κ³Ό λ™λ“±ν•œ 식을 λ§Œλ“€μ–΄ λ‚Έλ‹€.
  2. 각 ν‘œν˜„μ‹μ— μ—¬λŸ¬ 가지 λ°©λ²•μ˜ 주석(annotation)을 달아 μ„œλ‘œ λ‹€λ₯Έ query evaluation plan을 λ§Œλ“ λ‹€.
  3. 각 evaluation plan의 λΉ„μš©μ„ μΆ”μ •ν•˜κ³  λΉ„μš©μ΄ κ°€μž₯ 적은 것을 μ„ νƒν•œλ‹€.

(1), (2), (3)은 질의 μ΅œμ ν™”κΈ°μ—μ„œ μ„œλ‘œ 맞물렀 μžˆλ‹€(μˆœμ„œκ°€ λ’€μ£½λ°•μ£½). λͺ‡ 개의 ν‘œν˜„μ‹μ΄ λ§Œλ“€μ–΄μ§€κ³  λ§Œλ“€μ–΄μ§„ ν‘œν˜„μ‹μ— 주석을 단 후에 λ‹€λ₯Έ ν‘œν˜„μ‹μ„ λ§Œλ“€κ³  주석을 λ‹€λŠ” 과정을 λ°˜λ³΅ν•œλ‹€. 평가 κ³„νšμ΄ μƒμ„±λ˜λŠ” λ™μ•ˆ, λ¦΄λ ˆμ΄μ…˜ 크기, 인덱슀 깊이 λ“± λ¦΄λ ˆμ΄μ…˜μ— κ΄€ν•œ 톡계λ₯Ό μˆ˜μ§‘ν•΄ 평가 κ³„νšμ˜ λΉ„μš© 좔정이 이루어진닀.