22-08-31

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

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

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

๐Ÿ—“ 22-08-31

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

(1) ๊ณ ๋„ํ™”

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

(1) [SQLP์‹ค๊ธฐํ’€์ด]4์žฅ ์กฐ์ธํŠœ๋‹(4)-๊ณ ๊ธ‰์กฐ์ธ๊ธฐ๋ฒ• 50๋ฒˆ
(2) [SQLP์‹ค๊ธฐํ’€์ด]4์žฅ ์กฐ์ธํŠœ๋‹(4)-๊ณ ๊ธ‰์กฐ์ธ๊ธฐ๋ฒ• 51๋ฒˆ
(3) [SQLP์‹ค๊ธฐํ’€์ด]4์žฅ ์กฐ์ธํŠœ๋‹(4)-๊ณ ๊ธ‰์กฐ์ธ๊ธฐ๋ฒ• 52๋ฒˆ
(4) โญ๏ธ [SQLP์‹ค๊ธฐํ’€์ด]4์žฅ ์กฐ์ธํŠœ๋‹(4)-๊ณ ๊ธ‰์กฐ์ธ๊ธฐ๋ฒ• 53๋ฒˆ

  • ๋ถ€๋ถ„๋ฒ”์œ„์ฒ˜๋ฆฌ ์กฐ์ธ ์ฃผ์˜ !!

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

(1) [SQLDํ•„๊ธฐํ’€์ด]2์žฅ SQLํ™œ์šฉ 105~127๋ฒˆ
p.108 ~ p.127
(2) [SQLDํ•„๊ธฐํ’€์ด]3์žฅ SQL ์ตœ์ ํ™” ๊ธฐ๋ณธ ์›๋ฆฌ 128๋ฒˆ~146๋ฒˆ
p.130 ~ p.136
(3) [SQLPํ•„๊ธฐ๋ฌธ์ œ]7์žฅ LOCK๊ณผ ํŠธ๋žœ์žญ์…˜ ๋™์‹œ์„ฑ ์ œ์–ด (3) ๋™์‹œ์„ฑ ์ œ์–ด

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

[1] ๋ถ€๋ถ„๋ฒ”์œ„ ์ฒ˜๋ฆฌ ์•ˆ order by ์ฒ˜๋ฆฌ ์ œ๋Œ€๋กœ

50๋ฒˆ

50๋ฒˆ

  • order by๋ฅผ ๋ฐ”๊นฅ์—๋„ ์“ฐ๋„๋ก ํ•ด์•ผํ•œ๋‹ค ๊ผญ !!

[2] ๋ถ€๋ถ„๋ฒ”์œ„ ์ฒ˜๋ฆฌ์— INDEX_DESC ํžŒํŠธ ์‚ฌ์šฉ

51๋ฒˆ

51๋ฒˆ

[3] Index_FFS + ํ•ด์‹œ์กฐ์ธ์œผ๋กœ ๋ฒ”์œ„ ์ค„์ด๊ธฐ

52๋ฒˆ

52๋ฒˆ

  • โญ๏ธ MIN(B.๋“ฑ๋ก์ผ์‹œ) ๋“ฑ๋ก์ผ์‹œ ์ถ”๊ฐ€ ํ•ด์•ผํ•˜๋Š”์ง€ ?

[4] โญ๏ธ ๋ถ€๋ถ„๋ฒ”์œ„์ฒ˜๋ฆฌ + nl์กฐ์ธ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๊ธฐ

โญ๏ธ ๊ผญ ๋ถ€๋ถ„๋ฒ”์œ„ ์ฒ˜๋ฆฌ ํ›„ ๋ฐ”๊นฅ์—์„œ ์กฐ์ธํ•  ํ•„์š”๋Š” ์—†๋‹ค.

53๋ฒˆ

  • โญ๏ธ ๊ทธ๋ƒฅ ์•ˆ์—๋‹ค๊ฐ€ ๊ฐ™์ด ์กฐ์ธํ•˜๊ณ  ๋ฐ–์— rownum์„ ์„ค์ •ํ•ด๋„ ๋œ๋‹ค๊ณ  !!!

[5] ๋น„๊ด€์  ๋™์‹œ์„ฑ์ œ์–ด์™€ ๋‚™๊ด€์  ๋™์‹œ์„ฑ ์ œ์–ด

31๋ฒˆ

โœ… ๋น„๊ด€์  ๋™์‹œ์„ฑ ์ œ์–ด vs. ๋‚™๊ด€์  ๋™์‹œ์„ฑ ์ œ์–ด

  • ๋น„๊ด€์  ๋™์‹œ์„ฑ ์ œ์–ด

    • ๋น„๊ด€์ ์ธ ์‹œ๊ฐ์œผ๋กœ ๋™์‹œ์„ฑ์„ ์ œ์–ดํ•  ๋•Œ๋Š” ํ˜„์žฌ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์„œ ์—ฐ์‚ฐํ•˜๋Š” ๊ณผ
      ์ •์— ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋†’๋‹ค๊ณ  ๋ณด๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์‹œ
      ์ ๋ถ€ํ„ฐ ์•„์˜ˆ Lock์„ ์„ค์ •ํ•œ๋‹ค.
  • ๋‚™๊ด€์  ๋™์‹œ์„ฑ ์ œ์–ด

    • ๋‚™๊ด€์ ์ธ ์‹œ๊ฐ์œผ๋กœ ๋™์‹œ์„ฑ์„ ์ œ์–ดํ•  ๋•Œ๋Š” ํ˜„์žฌ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์„œ ์—ฐ์‚ฐํ•˜๋Š” ๊ณผ
      ์ •์— ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋‚ฎ๋‹ค๊ณ  ๋ณด๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์‹œ์ ์—๋Š” ์ผ๋‹จ Lock์„ ์„ค์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ํ•˜์ง€๋งŒ, ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ๋ณ€๊ฒฝํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ์ดํ›„์— ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ฝ๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ๋ณ€๊ฒฝ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.
    • LOCK์„ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ LOCK์— ์˜ํ•œ ์„ฑ๋Šฅ์ €ํ•˜๋ฅผ ์˜ˆ๋ฐฉํ•œ๋‹ค.
      34๋ฒˆ
  • ๋‚™๊ด€์  ๋™์‹œ์„ฑ ์ œ์–ด

    • ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ๋ณ€๊ฒฝํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ โญ๏ธ์ดํ›„์—โญ๏ธ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ฝ๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ๋ณ€๊ฒฝ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.

[6] WAIT ๋˜๋Š” NOWAIT ์˜ต์…˜

33๋ฒˆ

  • update์—๋Š” wait, nowait ์˜ต์…˜์ด ์—†๋‹ค.
  • FOR UPDATE ์ ˆ์— WAIT 3 ์˜ต์…˜์„ ์ง€์ •ํ•˜๋ฉด, Lock์ด ๊ฑธ๋ฆฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋งŒ๋‚ฌ์„ ๋•Œ ์ตœ๋Œ€ 3์ดˆ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. ์ค‘๊ฐ„์— Lock์ด ํ•ด์ œ๋˜๋ฉด Lock์„ ์„ค์ •ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฒ ์ง€๋งŒ, 3์ดˆ๋ฅผ ๊ธฐ๋‹ค๋ ธ๋Š”๋ฐ๋„ ํ•ด์ œ๋˜์ง€ ์•Š์œผ๋ฉด SELECT ๋ฌธ ์ „์ฒด๋ฅผ ์ข…๋ฃŒํ•œ๋‹ค.

[SQLD]

p.121 , 123

์œˆ๋„์šฐ ํ•จ์ˆ˜

116๋ฒˆ

  • group by ์ ˆ๊ณผ windowํ•จ์ˆ˜๊ฐ€ ๊ฐ™์ด ์žˆ์„ ๋• grouping๋œ ๊ฒฐ๊ณผ์ง‘ํ•ฉ์—์„œ ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค.

118๋ฒˆ : LAG ํ•จ์ˆ˜ , LEAD ํ•จ์ˆ˜

LAG(START_VAL) OVER(PARTITION BY ..) -- ํ˜„์žฌ ํ–‰์œผ๋กœ๋ถ€ํ„ฐ ์ด์ „ START_VAL๊ฐ’
LEAD(START_VAL) OVER(PARTITION BY ..) -- ํ˜„์žฌ ํ–‰์œผ๋กœ๋ถ€ํ„ฐ ์ดํ›„ START_VAL๊ฐ’

p.126

124๋ฒˆ

  • PL/SQL์—์„œ DDL๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด execute immediate ๋ฌธ์„ ์จ์•ผํ•œ๋‹ค.

ํŠธ๋ฆฌ๊ฑฐ

125๋ฒˆ : ํŠธ๋ฆฌ๊ฑฐ์˜ ์šฉ๋„

  • ํŠธ๋ฆฌ๊ฑฐ์˜ ์šฉ๋„๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

126๋ฒˆ : ํŠธ๋ฆฌ๊ฑฐ์˜ ์šฉ๋„

  • ํŠธ๋ฆฌ๊ฑฐ์˜ ์šฉ๋„๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

p.134

140๋ฒˆ

  • ์ธ๋ฑ์Šค์—์„œ INSERT์™€ DELETE ์ž‘์—…๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ UPDATE ์ž‘์—…์—๋Š” ๋ถ€ํ•˜๊ฐ€ ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.
    • ์ธ๋ฑ์Šค ์ด์™ธ์˜ ์ปฌ๋Ÿผ์„ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ ๋ง์ด๋‹ค !!
profile
๋„๊ด‘์–‘ํšŒ(้Ÿœๅ…‰้คŠๆ™ฆ) โ€˜๋น›์„ ๊ฐ์ถ”๊ณ  ์–ด๋‘ ์†์—์„œ ํž˜์„ ๊ธฐ๋ฅธ๋‹คโ€™

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