CAFE

2. SQLํŠœ๋‹

Re: ๐ŸŸฅ ์˜ค๋Š˜์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ (์ด์ˆ˜์ž ํ‰๊ฐ€6๋ฒˆ)

์ž‘์„ฑ์ž23๊ธฐ_์„œํ•œ๊ฒฐ|์ž‘์„ฑ์‹œ๊ฐ„26.06.23|์กฐํšŒ์ˆ˜7 ๋ชฉ๋ก ๋Œ“๊ธ€ 0

๋ฌธ์ œ 1 (์นดํ…Œ์‹œ์•ˆ ์กฐ์ธ ํ•จ์ •)

๋‹ต :ย  โ‘ข DEPT์™€ SALGRADE ์‚ฌ์ด์—๋Š” ์—ฐ๊ฒฐ ์กฐ๊ฑด์ด ์—†์–ด SALGRADE๊ฐ€ DEPT ๊ฑด์ˆ˜(Starts)๋งŒํผ ๋งค๋ฒˆ ํ•„ํ„ฐ ์—†์ด ์ „์ฒด ์Šค์บ”๋˜๋Š” ์นดํ…Œ์‹œ์•ˆ ์กฐ์ธ์ด์ง€๋งŒ, NESTED LOOPS ์—ฐ์‚ฐ์ž ์ž์ฒด์—๋Š” "CARTESIAN" ํ‘œ๊ธฐ๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค.

ย 

ย 

๋ฌธ์ œ 2 (๊ฒฐํ•ฉ ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ ์ˆœ์„œ ์„ค๊ณ„)

๋‹ต :ย โ‘ก ๋“ฑ์น˜(=) ์กฐ๊ฑด ์ปฌ๋Ÿผ์„ ์„ ํ–‰์‹œํ‚ค๊ณ  ๋ฒ”์œ„ ์กฐ๊ฑด ์ปฌ๋Ÿผ์„ ํ›„ํ–‰์‹œ์ผœ์•ผ, ์ธ๋ฑ์Šค ์Šค์บ” ๋ฒ”์œ„๊ฐ€ ์ข์•„์ง„ ์ƒํƒœ์—์„œ ๋ฒ”์œ„์กฐ๊ฑด๊นŒ์ง€ ์•ก์„ธ์Šค ์กฐ๊ฑด์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์œ ๋ฆฌํ•˜๋‹ค.

ย 

ย 

๋ฌธ์ œ 3 (Prefetch ๋ฉ”์ปค๋‹ˆ์ฆ˜)

๋‹ต :ย  โ‘ข no_nlj_prefetch(e) no_nlj_prefetch(d)

ย 

ย 

๋ฌธ์ œ 4 (์ธ๋ฑ์Šค ์ปฌ๋Ÿผ ์ˆœ์„œ๋กœ SORT ORDER BY ์ œ๊ฑฐ)

๋‹ต :ย  โ‘ก ์ธ๋ฑ์Šค๋ฅผ (job, reg_dt) ๋‘ ์ปฌ๋Ÿผ์œผ๋กœ๋งŒ ๊ตฌ์„ฑํ•˜๊ณ , index_desc(a emp_big_n1) ํžŒํŠธ๋กœ ์—ญ์ˆœ ์Šค์บ”ํ•œ๋‹ค.

ย 

ย 

์ฃผ๊ด€์‹ ๋ฌธ์ œ 1 (Top-N + NL ์กฐ์ธ ํ•จ์ • โ€” ์ž‘์„ฑํ˜•)

๋‹ต1 : ์ธ๋ฑ์Šค ์ •๋ ฌ์— ์˜์กดํ•ด ROWNUM์„ ์ ์šฉํ•˜๋ฉด batch I/O ๋“ฑ์œผ๋กœ ์ธํ•ด ์ •๋ ฌ์ด ๋ณด์žฅ๋˜์ง€ ์•Š๊ณ , ์กฐ์ธ ํ›„ ์ตœ์ข… ์ถœ๋ ฅ ์ˆœ์„œ์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ ORDER BY ์ ˆ์„ ๊ธฐ์ˆ ํ•ด์•ผํ•œ๋‹ค.

๋‹ต2 :ย  ย 

ย 

ย 

ย 

ย 

๋‹ค์Œ๊ฒ€์ƒ‰
ํ˜„์žฌ ๊ฒŒ์‹œ๊ธ€ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ์—ด๊ธฐ

๋Œ“๊ธ€

๋Œ“๊ธ€ ๋ฆฌ์ŠคํŠธ
๋งจ์œ„๋กœ

์นดํŽ˜ ๊ฒ€์ƒ‰

์นดํŽ˜ ๊ฒ€์ƒ‰์–ด ์ž…๋ ฅํผ