๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Round and Round
DB/SQLP

[SQLP] 1-2. SQL ํŒŒ์‹ฑ๊ณผ ์ตœ์ ํ™”

by ํ‰๊ธ€ํ‰๊ธ€ 2025. 2. 9.

๐Ÿงท SQL ํŒŒ์‹ฑ๊ณผ ์ตœ์ ํ™”

๐Ÿ–‡๏ธ SQL ์ด๋ž€?

SQL : Structured Query Language

 

SQL์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์งˆ์˜, ์กฐ์ž‘, ์ •์˜, ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ (Structured)์ด๊ณ  ์ง‘ํ•ฉ์ (Set-Based)์ด๋ฉฐ ์„ ์–ธ์ (Declarative)์ธ ์–ธ์–ด์ด๋‹ค. ์˜ค๋ผํด PL/SQL, SQL Server T-SQL์ฒ˜๋Ÿผ ์ ˆ์ฐจ์ (Procedural) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ™•์žฅ ์–ธ์–ด๋„ ์žˆ์ง€๋งŒ, SQL์€ ์ง‘ํ•ฉ ๊ธฐ๋ฐ˜์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•œ ์„ ์–ธ์  ์–ธ์–ด์ด๋‹ค.

 

์‚ฌ์šฉ์ž๋Š” SQL์„ ํ†ตํ•ด ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฒฐ๊ณผ๋ฅผ ์„ ์–ธํ•˜์ง€๋งŒ, ๊ทธ ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์€ ์ ˆ์ฐจ์ ์ผ ์ˆ˜๋ฐ–์— ์—†๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ์ฒ˜๋ฆฌํ•˜๋Š” DBMS ๋‚ด๋ถ€ ์—”์ง„์ด ๋ฐ”๋กœ SQL ์˜ตํ‹ฐ๋งˆ์ด์ €(Optimizer)์ด๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ SQL์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์‹คํ–‰ ๊ณ„ํš์„ ์ˆ˜๋ฆฝํ•œ๋‹ค. ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋Œ€์‹ ํ•˜๋Š” ์…ˆ์ด๋‹ค.

 

์‚ฌ์šฉ์ž -[SQL]→ ์˜ตํ‹ฐ๋งˆ์ด์ € -[์‹คํ–‰๊ณ„ํš]→ ํ”„๋กœ์‹œ์ €

 

DBMS ๋‚ด๋ถ€์—์„œ ํ”„๋กœ์‹œ์ €๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ปดํŒŒ์ผํ•ด์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋กœ ๋งŒ๋“œ๋Š” ์ „ ๊ณผ์ •์„ SQL ์ตœ์ ํ™”๋ผ๊ณ  ํ•œ๋‹ค.

 

๐Ÿ–‡๏ธ SQL ์ฒ˜๋ฆฌ ๊ณผ์ •

SQL ํŒŒ์‹ฑ

 

SQL ์ฒ˜๋ฆฌ ๊ณผ์ •์€ ์œ„์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ 3๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ SQL ๋ฌธ์„ ์‹คํ–‰ํ•˜๋ฉด SQL ํŒŒ์‹ฑ์„ ๊ฑฐ์นœ ํ›„, ํ•ด๋‹น SQL์ด ์ด๋ฏธ ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹ฑ ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์บ์‹ฑ ๋˜์–ด ์žˆ์œผ๋ฉด ์†Œํ”„ํŠธ ํŒŒ์‹ฑ(Soft Parsing)์œผ๋กœ ๊ณง๋ฐ”๋กœ ์‹คํ–‰๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ€๋ฉฐ, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ํ•˜๋“œ ํŒŒ์‹ฑ(Hard Parsing)์œผ๋กœ ์ตœ์ ํ™” ๋ฐ ๋กœ์ˆ˜ ์†Œ์Šค ์ƒ์„ฑ ๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

 

1.  SQL ํŒŒ์‹ฑ

(1) ํŒŒ์‹ฑ ํŠธ๋ฆฌ ์ƒ์„ฑ

์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ SQL์„ ์ „๋‹ฌ๋ฐ›์œผ๋ฉด ๊ฐ€์žฅ ๋จผ์ € SQL ํŒŒ์„œ(Parser)๊ฐ€ SQL ๋ฌธ์„ ๋ถ„์„ํ•˜์—ฌ ํŒŒ์‹ฑ ํŠธ๋ฆฌ ์ƒ์„ฑํ•œ๋‹ค. ํŒŒ์‹ฑ ํŠธ๋ฆฌ๋Š” SQL๋ฌธ ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐœ๋ณ„ ์š”์†Œ๋“ค์„ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ๊ตฌ์กฐํ™”ํ•œ ๊ฒƒ์ด๋‹ค.

 

SQL ํŒŒ์‹ฑ

(2) ์˜ค๋ฅ˜ ์ฒดํฌ

ํŒŒ์‹ฑ ํŠธ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ณผ์ •์—์„œ Syntax ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ , ๊ทธ ํ›„์—๋Š” Semantic ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

  • Syntax ์ฒดํฌ : ๋ฌธ๋ฒ•์  ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธ
  • Semantic ์ฒดํฌ : ์˜๋ฏธ์ƒ ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธ ex, ๊ถŒํ•œ ๋ถ€์กฑ, ๊ณต๊ฐ„ ๋ถ€์กฑ

(3) ์บ์‹ฑ ์—ฌ๋ถ€ ํ™•์ธ

์˜ค๋ฅ˜๊ฐ€ ์—†๋‹ค๋ฉด, ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด Shared Pool์— ํ•ด๋‹น SQL ์ปค์„œ๊ฐ€ ์ด๋ฏธ ์บ์‹ฑ ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

  • SQL ๋ฌธ๊ณผ 100% ์ผ์น˜
  • ํŒŒ์‹ฑ์„ ์š”์ฒญํ•œ ์‚ฌ์šฉ์ž์™€ ์ผ์น˜
  • ์˜ตํ‹ฐ๋งˆ์ด์ € ๊ด€๋ จ ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ • ์ผ์น˜

์œ„์˜ ๊ฒฝ์šฐ๋ฅผ ๋งŒ์กฑํ•œ๋‹ค๋ฉด ์‹คํ–‰๊ณ„ํš์„ ์žฌ์‚ฌ์šฉํ•˜๊ณ , ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์บ์‹ฑ ๋œ ์ปค์„œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์ตœ์ ํ™” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

2. SQL ์ตœ์ ํ™”

SQL ์ตœ์ ํ™”๋Š” SQL ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ํšจ์œจ์ ์ธ ์‹คํ–‰๊ณ„ํš์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค. SQL ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ์‹œ์Šคํ…œ ๋ฐ ์˜ค๋ธŒ์ ํŠธ ํ†ต๊ณ„์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ค์–‘ํ•œ ์‹คํ–‰๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋น„๊ตํ•˜๊ณ , ๊ฐ€์žฅ ํšจ์œจ์ ์ธ ์‹คํ–‰๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ์—”์ง„์ด๋‹ค. ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ์„ธ๋ถ€์ ์œผ๋กœ 3๊ฐœ์˜ ์„œ๋ธŒ ์—”์ง„์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • Query Transformer : ์ตœ์ ํ™”ํ•˜๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ๋กœ ์ฟผ๋ฆฌ ๋ณ€ํ™˜. ๋ณ€ํ™˜ ํ›„์—๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•จ์„ ๋ณด์žฅ๋  ๊ฒฝ์šฐ์—๋งŒ ์ง„ํ–‰ํ•œ๋‹ค.
  • Plan Generator : ์‹คํ–‰๊ณ„ํš์„ ์ƒ์„ฑ
  • Estimator : ๋ฐ์ดํ„ฐ ๋”•์…”๋„ˆ๋ฆฌ(Data Dictionary)์— ๋ฏธ๋ฆฌ ์ˆ˜์ง‘ํ•ด ๋‘” ์˜ค๋ธŒ์ ํŠธ(ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค ๋“ฑ) ํ†ต๊ณ„์™€ ์‹œ์Šคํ…œ ํ†ต๊ณ„์ •๋ณด๋ฅผ ์ด์šฉํ•ด ์ด๋น„์šฉ์„ ๊ณ„์‚ฐ (์˜ˆ์ƒ์น˜)

์‹คํ–‰๊ณ„ํš(Execution Plan)
์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์ƒ์„ฑํ•œ ์ฒ˜๋ฆฌ ์ ˆ์ฐจ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํŠธ๋ฆฌ๊ตฌ์กฐ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. SQL์ด ํ…Œ์ด๋ธ” ์Šค์บ”, ์ธ๋ฑ์Šค ์Šค์บ” ๋ฐฉ์‹ ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค๋ฉด ์‹คํ–‰๊ฒฝ๋กœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

๋น„์šฉ(Cost)
์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์‹คํ–‰๊ณ„ํš์„ ์„ ํƒํ•˜๋Š” ๊ทผ๊ฑฐ๋กœ, ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ ๋ฐœ์ƒํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๋Š” I/O ํšŸ์ˆ˜ ๋˜๋Š” ์˜ˆ์ƒ ์†Œ์š” ์‹œ๊ฐ„์„ ํ‘œํ˜„ํ•œ ๊ฐ’์ด๋‹ค. ์—ฌ๋Ÿฌ ํ†ต๊ณ„์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด์„œ ๊ณ„์‚ฐํ•œ ์˜ˆ์ƒ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๊ฐ’๊ณผ๋Š” ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๋กœ์šฐ ์†Œ์Šค ์ƒ์„ฑ

SQL ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์„ ํƒํ•œ ์‹คํ–‰๊ฒฝ๋กœ๋ฅผ ์‹ค์ œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ๋˜๋Š” ํ”„๋กœ์‹œ์ € ํ˜•ํƒœ๋กœ ํฌ๋งทํŒ…ํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค. ๋กœ์šฐ ์†Œ์Šค ์ƒ์„ฑ๊ธฐ(Row-Source Generator)๊ฐ€ ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

๐Ÿ–‡๏ธ ์˜ตํ‹ฐ๋งˆ์ด์ € ํžŒํŠธ

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ SQL ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ์ตœ์ ์˜ ์„ ํƒ์„ ํ•˜์ง€๋งŒ, ํ•ญ์ƒ ์ตœ์„ ์˜ ์„ ํƒ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. SQL์ด ๋ณต์žกํ• ์ˆ˜๋ก ์‹ค์ˆ˜ํ•  ๊ฐ€๋Šฅ์„ฑ๋„ ํฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋•Œ, ํžŒํŠธ๋ฅผ ์ด์šฉํ•ด ์•ก์„ธ์Šค ๊ฒฝ๋กœ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ํžŒํŠธ ์‚ฌ์šฉ๋ฒ•์€ /*+ hint */ ์™€ --+ hint๊ฐ€ ์žˆ๋‹ค. ํ›„์ž์˜ ๊ฒฝ์šฐ, ๋™์  ์ฟผ๋ฆฌ ์‚ฌ์šฉ ์‹œ ์ค„ ๋ฐ”๊ฟˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๊ธ‰์  ์‚ฌ์šฉ์„ ์ž์ œํ•˜๋Š” ๊ฒŒ ์ข‹๋‹ค.

  • ํ†ต๊ณ„์ •๋ณด๋‚˜ ์‹คํ–‰ ํ™˜๊ฒฝ ๋ณ€ํ™”์—๋„ ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ : ํžŒํŠธ๋ฅผ ์ตœ์†Œํ™”ํ•˜์—ฌ ์˜ตํ‹ฐ๋งˆ์ด์ €์˜ ์ž์œจ์„ฑ์„ ๋ณด์žฅ
  • ์ž‘์€ ์‹ค์ˆ˜์—๋„ ํฐ ์†์‹ค์„ ์ดˆ๋ž˜ํ•˜๋Š” ์‹œ์Šคํ…œ : ํžŒํŠธ๋ฅผ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ง€์ •ํ•˜์—ฌ ์˜ตํ‹ฐ๋งˆ์ด์ €์˜ ๊ฒฐ์ •์— ์ œํ•œ

์ฃผ์˜์‚ฌํ•ญ

  • ํžŒํŠธ์™€ ํžŒํŠธ ์‚ฌ์ด์— , ์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.
  • ํ…Œ์ด๋ธ” ์ง€์ • ์‹œ ์Šคํ‚ค๋งˆ ๋ช…์„ ๋ช…์‹œํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ํ…Œ์ด๋ธ”์— ALLAS๋ฅผ ์ง€์ •ํ–ˆ๋‹ค๋ฉด, ํžŒํŠธ์—๋„ ๋ฐ˜๋“œ์‹œ ๋™์ผํ•œ ALLAS๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Hint

๋ถ„๋ฅ˜ ํžŒํŠธ ์„ค๋ช…
์ตœ์ ํ™” ๋ชฉํ‘œ ALL_ROWS ์ „์ฒด ์ฒ˜๋ฆฌ ์†๋„ ์ตœ์ ํ™”
FIRST_ROWS(N) ์ตœ์ดˆ N ๊ฑด ์‘๋‹ต์†๋„ ์ตœ์ ํ™”
์•ก์„ธ์Šค ๋ฐฉ์‹ FULL Tabl Full Scan์œผ๋กœ ์œ ๋„
INDEX Index Scan์œผ๋กœ ์œ ๋„
INDEX_DESC Index๋ฅผ ์—ญ์ˆœ์œผ๋กœ ์Šค์บ”ํ•˜๋„๋ก ์œ ๋„
INDEX_FFS Index Fast Full Scan์œผ๋กœ ์œ ๋„
INDEX_SS Index Skip Scan์œผ๋กœ ์œ ๋„
์กฐ์ธ์ˆœ์„œ ORDERED FROM ์ ˆ์— ๋‚˜์—ด๋œ ์ˆœ์„œ๋Œ€๋กœ ์กฐ์ธ
LEADING LEADING ํžŒํŠธ ๊ด„ํ˜ธ์— ์ˆœ์„œ๋Œ€๋กœ ์กฐ์ธ
SWAP_JOIN_INPUTS ํ•ด์‹œ ์กฐ์ธ ์‹œ, BUILD INPUT์„ ๋ช…์‹œ์ ์œผ๋กœ ์„ ํƒ
์กฐ์ธ๋ฐฉ์‹ USE_NL NL ์กฐ์ธ์œผ๋กœ ์œ ๋„
USE_MERGE ์†ŒํŠธ ๋จธ์ง€ ์กฐ์ธ์œผ๋กœ ์œ ๋„
USE_HASH ํ•ด์‹œ ์กฐ์ธ์œผ๋กœ ์œ ๋„
NL_SJ NL ์„ธ๋ฏธ์กฐ์ธ์œผ๋กœ ์œ ๋„
MERGE_SJ ์†ŒํŠธ ๋จธ์ง€ ์„ธ๋ฏธ์กฐ์ธ์œผ๋กœ ์œ ๋„
HASH_SJ ํ•ด์‹œ ์„ธ๋ฏธ์กฐ์ธ์œผ๋กœ ์œ ๋„
์„œ๋ธŒ์ฟผ๋ฆฌ ํŒฉํ† ๋ง MATERIALIZE WITH ๋ฌธ์œผ๋กœ ์ •์˜ํ•œ ์ง‘ํ•ฉ์„ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋„๋ก ์œ ๋„
INLINE WITH ๋ฌธ์œผ๋กœ ์ •์˜ํ•œ ์ง‘ํ•ฉ์„ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  INLINE ์ฒ˜๋ฆฌํ•˜๋„๋ก ์œ ๋„
์ฟผ๋ฆฌ ๋ณ€ํ™˜ MERGE ๋ทฐ ๋จธ์ง• ์œ ๋„
NO_MERGE ๋ทฐ ๋จธ์ง• ๋ฐฉ์ง€
UNNEST ์„œ๋ธŒ์ฟผ๋ฆฌ Unnesting ์œ ๋„
NO_UNNEST ์„œ๋ธŒ์ฟผ๋ฆฌ Unnesting ๋ฐฉ์ง€
PUSH_PRED ์กฐ์ธ ์กฐ๊ฑด Pushdown ์œ ๋„
NO_PUSH_PRED ์กฐ์ธ ์กฐ๊ฑด Pushdown ๋ฐฉ์ง€
USE_CONCAT OR ๋˜๋Š” IN_List ์กฐ๊ฑด์„ OR-Expansion์œผ๋กœ ์œ ๋„
NO_EXPAND OR ๋˜๋Š” IN_List ์กฐ๊ฑด์— ๋Œ€ํ•œ OR-Expansion ๋ฐฉ์ง€
๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ PARALLEL ํ…Œ์ด๋ธ” ์Šค์บ” ๋˜๋Š” DML์„ ๋ณ‘๋ ฌ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์œ ๋„
PARALLEL_INDEX ์ธ๋ฑ์Šค ์Šค์บ”์„ ๋ณ‘๋ ฌ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์œ ๋„
PQ_DISTRIBUTE ๋ณ‘๋ ฌ ์ˆ˜ํ–‰ ์‹œ ๋ฐ์ดํ„ฐ ๋ถ„๋ฐฐ ๋ฐฉ์‹ ๊ฒฐ์ •
๊ธฐํƒ€ APPEND Direct-Path Insert๋กœ ์œ ๋„
DRIVING_SITE DB Link Remote ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์ตœ์ ํ™” ๋ฐ ์‹คํ–‰ ์ฃผ์ฒด ์ง€์ •(Local ๋˜๋Š” Remote)
PUSH_SUBQ ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ๊ฐ€๊ธ‰์  ๋นจ๋ฆฌ ํ•„ํ„ฐ๋งํ•˜๋„๋ก ์œ ๋„
NO_PUSH_SUBQ ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ๊ฐ€๊ธ‰์  ๋Šฆ๊ฒŒ ํ•„ํ„ฐ๋งํ•˜๋„๋ก ์œ ๋„

 


Reference