22-08-28

Yu Riverยท2022๋…„ 8์›” 28์ผ
0

๊ณต๋ถ€ ์ผ์ง€

๋ชฉ๋ก ๋ณด๊ธฐ
23/28

๐Ÿ—“ 22-08-28

SQLP ์ด๋ก  ๋ณต์Šต

(1) ๊ณ ๋„ํ™”

SQLP ์‹ค๊ธฐ ํ’€์ด

(1) [SQLP์‹ค๊ธฐํ’€์ด]6์žฅ ๊ณ ๊ธ‰SQLํŠœ๋‹(3)๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค CALL ์ตœ์†Œํ™” 39๋ฒˆ
(2) ์‹ค๊ธฐ 34๋ฒˆ
(3) ์‹ค๊ธฐ 40๋ฒˆ

SQLP ํ•„๊ธฐ ํ’€์ด

(1) [SQLPํ•„๊ธฐํ’€์ด]6์žฅ ๊ณ ๊ธ‰SQLํŠœ๋‹(2)DML ํŠœ๋‹
(2) [SQLPํ•„๊ธฐํ’€์ด]6์žฅ ๊ณ ๊ธ‰SQLํŠœ๋‹(3)๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค Call ์ตœ์†Œํ™”
(3) [SQLPํ•„๊ธฐํ’€์ด]6์žฅ ๊ณ ๊ธ‰SQLํŠœ๋‹(4) ํŒŒํ‹ฐ์…”๋‹

๐Ÿ‘€ 8/28 ๋ณต๊ธฐ

[SQLPํ•„๊ธฐ๋ฌธ์ œ]6์žฅ ๊ณ ๊ธ‰SQLํŠœ๋‹(2)DML ํŠœ๋‹

[1] 23๋ฒˆ

  • DML ์‹œ์—๋Š” ์˜ตํ‹ฐ๋งˆ์ด์ € ๋ชจ๋“œ๊ฐ€ ๋ฌด์กฐ๊ฑด 'ALL ROWS'์ด๋‹ค.

[2] Direct Path Insert

  • 27๋ฒˆ
  • Direct Path Insert๊ฐ€ ๋น ๋ฅธ ์ด์œ 
    • undo ๋กœ๊ทธ์™€ Redo ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • Freelist๋ฅผ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ณ  HWM ๋ฐ”๊นฅ ์˜์—ญ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ž…๋ ฅํ•œ๋‹ค.
    • Insert ํ•  ๋ธ”๋ก์„ ๋ฒ„ํผ์บ์‹œ์—์„œ ํƒ์ƒ‰ํ•˜์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ์ง์ ‘ ๊ธฐ๋กํ•œ๋‹ค.
  • Direct Path Insert๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๊ฒฝ์šฐ
    • Insert ~ Select ๋ฌธ์— append ํžŒํŠธ ์‚ฌ์šฉ
    • ๋ณ‘๋ ฌ DML ํ™œ์„ฑํ™” ํ›„ INSERT ๋ฌธ์— parallel ํžŒํŠธ ์‚ฌ์šฉ
    • CTAS๋กœ ํ…Œ์ด๋ธ” ์ƒ์„ฑ

[3] merge into ๊ตฌ๋ฌธ์„ update๊ตฌ๋ฌธ๊ณผ insert ๊ตฌ๋ฌธ์œผ๋กœ ๋Œ€์‹ ํ•˜๊ธฐ

40๋ฒˆ

  • merge into ๊ตฌ๋ฌธ์ด ์–ด๋ ค์šฐ๋ฉด update๊ตฌ๋ฌธ๊ณผ insert ๊ตฌ๋ฌธ์„ ๋‚˜๋ˆ ์„œ ํ•ด๋„ ๋œ๋‹ค.

[4] update ํŠœ๋‹์‹œ ์ค‘๋ณต์ฒดํฌ๋Š” Exists๋ฌธ์œผ๋กœ

์‹ค๊ธฐ 34๋ฒˆ
์‹ค๊ธฐ 40๋ฒˆ

  • โญ๏ธ ๋ฌด๋ฆฌํ•˜๊ฒŒ VIEW๋กœ ๋ฐ”๊พธ์–ด์„œ ๊ทธ ์•ˆ์—์„œ ๋ง‰ no_merge ์“ฐ๊ณ  ๊ทธ๋Ÿฌ์ง€ ๋ง๊ณ  ๊ทธ๋ƒฅ ๊ฐ„๋‹จํ•˜๊ฒŒ Exists๋ฌธ์œผ๋กœ ์ฒดํฌํ•˜์—ฌ ํŠœ๋‹ํ•œ๋‹ค.

[5] DB ์ €์žฅํ˜• ํ•จ์ˆ˜์— ์˜ํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ํ•ด์†Œํ•˜๋Š” ๋ฐฉ์•ˆ

48

  • DB ์ €์žฅํ˜• ํ•จ์ˆ˜๋ฅผ C, JAVA, VB ๋“ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ•จ์ˆ˜๋กœ ์ „ํ™˜ํ•˜๋ฉด, Recursive Call ๋Œ€์‹  User Call์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์„ฑ๋Šฅ์ด ๋” ๋Š๋ ค์ง„๋‹ค.
  • CASE ๋ฌธ์ด๋‚˜ ์กฐ์ธ๋ฌธ์„ ํ™œ์šฉํ•จ์œผ๋กœ์จ DB ์ €์žฅํ˜• ํ•จ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค๋ฉด, "ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐ
    Recursive Call์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ"์„ฑ๋Šฅ ๊ฐœ์„ ์— ํฐ ๋„์›€์ด ๋œ๋‹ค.
  • Deterministic ํ•จ์ˆ˜๋กœ ์ „ํ™˜ํ•˜๋ฉด ์บ์‹ฑ ํšจ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค.
  • ํ•จ์ˆ˜์—์„œ ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, Result ์บ์‹œ ๊ธฐ๋Šฅ๋„ ๋„์›€์ด
    ๋œ๋‹ค.

[6] ์ฟผ๋ฆฌ๋ฅผ ๋‚ด์žฅํ•œ DB ์ €์žฅํ˜• ํ•จ์ˆ˜์˜ ์ฝ๊ธฐ ์ผ๊ด€์„ฑ ์ด์Šˆ

51

  • ํ•จ์ˆ˜๋ฅผ ์Šค์นผ๋ผ ์„œ๋ธŒ์ฟผ๋ฆฌ์— ์”Œ์›Œ์„œ ์‹คํ–‰ํ•  ๋•Œ ๊ฐ ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ์ผ์–ด๋‚  ๋•Œ๊นŒ์ง€์˜ ์‹œ๊ฐ„์ฐจ ๋•Œ๋ฌธ์— ๋ณด์žฅํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
  • ์Šค์นผ๋ผ ์„œ๋ธŒ์ฟผ๋ฆฌ "์กฐ์ธ"์€ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค. ์ฆ‰, ์ค‘๊ฐ„์— ๊ฐ’์ด ๋ณ€ํ•˜๋”๋ผ๋„ ์ฟผ๋ฆฌ ์‹œ์ž‘ ์‹œ์ 
    ๊ธฐ์ค€์œผ๋กœ ์ผ๊ด€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

[7] ๋™๋ช…์ด์ธ ์ด์Šˆ

53

  • ๋™๋ช…์ด์ธ์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ธฐ์— DISTINCT๋ฅผ ํ•จ๋ถ€๋กœ ์ง€์šฐ๋ฉด ์•ˆ๋œ๋‹ค.

[8] Range ํŒŒํ‹ฐ์…”๋‹

2๋ฒˆ

  • ์ž…๋ ฅ ๊ณต๊ฐ„์„ ์ฐพ์ง€ ๋ชปํ•ด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด MAXVALUE ํŒŒํ‹ฐ์…˜์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.
PARTITION BY RANGE (์ฃผ๋ฌธ์ผ์‹œ) (
	PARTITION P1 VALUES LESS THAN (TO_DATE('20200701','YYYYMMDD')) ,
    PARTITION P2 VALUES LESS THAN (TO_DATE('20210101','YYYYMMDD')) ,
    PARTITION P3 VALUES LESS THAN (TO_DATE('20210701','YYYYMMDD')) ,
    PARTITION P4 VALUES LESS THAN (TO_DATE('20220101','YYYYMMDD')) ,
    PARTITION P_MAX VALUES LESS THAN (MAXVALUE)
);

[9] List ํŒŒํ‹ฐ์…˜

  • List ํŒŒํ‹ฐ์…˜์€ ๋‹จ์ผ ์ปฌ๋Ÿผ์œผ๋กœ๋งŒ ํŒŒํ‹ฐ์…˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

[10] ํŒŒํ‹ฐ์…˜ ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ

12

  • ํŒŒํ‹ฐ์…˜ pruning์‹œ ํŒŒํ‹ฐ์…˜ ํ‚ค ์ปฌ๋Ÿผ์— LIKE ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ ํŒŒํ‹ฐ์…˜์„ ์ฝ๋Š” ํ˜„์ƒ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฝ์–ด์•ผ ํ•  ๋ฒ”์œ„๋ฅผ ์ •ํ™•ํžˆ ๋ช…์‹œํ•˜๋Š” BETWEEN ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

[9] ์ ํ•ฉํ•œ ์ธ๋ฑ์Šค ํŒŒํ‹ฐ์…˜ ์œ ํ˜•

21,23

  • ๋น„ํŒŒํ‹ฐ์…”๋‹ ์ธ๋ฑ์Šค๋Š” ํŠœ๋‹์— ๊ทธ๋‹ค์ง€ ์ข‹์ง€ ๋ชปํ•œ๋“ฏ ?
    • Global ํŒŒํ‹ฐ์…˜๊ณผ ๋น„ํŒŒํ‹ฐ์…˜ ์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ” ๊ฐ€์šฉ์„ฑ์— ์ข‹์ง€ ์•Š๋‹ค.
    • ๋ณด๊ด€ ๊ธฐ๊ฐ„์„ ์ดˆ๊ณผํ•œ ๊ณผ๊ฑฐ ํŒŒํ‹ฐ์…˜์„ Drop ํ•˜๋ฉด Unusable ์ƒํƒœ๋กœ ์ „ํ™˜๋˜๊ณ , ์ธ๋ฑ์Šค๋ฅผ ์žฌ์ƒ์„ฑํ•˜๋Š” ๋™์•ˆ ์„œ๋น„์Šค๋ฅผ ์ค‘์ง€ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
    • โญ๏ธ ๋”ฐ๋ผ์„œ ์„ฑ๋Šฅ์— ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ฐ€๊ธ‰์  Local ํŒŒํ‹ฐ์…˜์„ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค. โญ๏ธ
    • โญ๏ธ ํ•˜์ง€๋งŒ ํŒŒํ‹ฐ์…˜ ํ‚ค๊ฐ€ ์กฐ๊ฑด์ ˆ์— ์—†์–ด์„œ ๋ชจ๋“  ํŒŒํ‹ฐ์…˜์„ ์Šค์บ”ํ•ด์•ผํ•œ๋‹ค๋ฉด ๊ทธ ๋•Œ๋Š” ๋น„ํŒŒํ‹ฐ์…”๋‹ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ๋งž๋‹ค. โญ๏ธ
profile
๋„๊ด‘์–‘ํšŒ(้Ÿœๅ…‰้คŠๆ™ฆ) โ€˜๋น›์„ ๊ฐ์ถ”๊ณ  ์–ด๋‘ ์†์—์„œ ํž˜์„ ๊ธฐ๋ฅธ๋‹คโ€™

0๊ฐœ์˜ ๋Œ“๊ธ€