MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

๐Ÿ’Ž DataBase/๐Ÿ“š ์˜ค๋ผํด SQL๊ณผ PL,SQ

หšโ‚Šโœฉโ€งโ‚Š DB Oracle ์ •๋ฆฌ 3ํƒ„ (์˜ค๋ผํด SQL๊ณผ PL/SQL ch8) หšโ‚Šโœฉโ€งโ‚Š

HYEJU01 2021. 12. 13. 03:06

์ธ๋ฑ์Šค๋ž€?

= ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋””์— ์žˆ๋‹ค๋Š” ์ฃผ์†Œ๋ก ๊ฐ™์€ ๊ฐœ๋…

= ์•„์ฃผ ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 

์ธ๋ฑ์Šค ์˜ค๋ผํด ๊ตฌ๋™

= SELECT๋ฌธ -> ์˜ค๋ผํด์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅ -> ์„œ๋ฒ„ํ”„๋กœ์„ธ์Šค๋Š” ๋ฒ„ํผ์บ์‹œ(๋ฉ”๋ชจ๋ฆฌ)์— ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ -> ์—†์„๊ฒฝ์šฐ ํ•˜๋“œ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ๋ฒ„ํผ์บ์‹œ๋กœ ๋ณต์‚ฌํ•ด์„œ ๊ฐ’์„ ๋ฆฌํ„ด

= ๋ฉ”๋ชจ๋ฆฌ์— ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฐ”๋ฅด๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์šฉ๋Ÿ‰์˜ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค (๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ณด๊ด€ ๋ถˆ๊ฐ€)

= ํ•˜๋“œ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ Table Full Scan์„ ํ•ด์•ผํ•จ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Œ

= ๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ ์ฃผ์†Œ๋ก์„ ๋งŒ๋“  ์ฆ‰ ์ฃผ์†Œ ๊ฐ’์„ ๊ฐ€์ง„ ๊ฒƒ์ด ์ธ๋ฑ์Šค, ์ธ๋ฑ์Šค๋Š” ๋ชจ๋“  ๋ธ”๋ก์„ ๋‹ค ์ฝ์ง€ ์•Š๊ณ  ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ธ”๋ก ์ฃผ์†Œ๋ฅผ ์ฐพ์•„๋‚ด ๊ทธ ๋ธ”๋ก๋งŒ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ณต์‚ฌํ•ด์˜จ๋‹ค. 

= ํ•˜์ง€๋งŒ ์ธ๋ฑ์Šค ์ƒ์„ฑ, ๊ด€๋ฆฌ๋ฅผ ์ž˜ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋Š”์—ญํšจ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•˜์ž

 

 

์ธ๋ฑ์Šค ์ข…๋ฅ˜

B-TREE

= OLTP(์‹ค์‹œ๊ฐ„ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์šฉ) ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ

 

2. UNIQUE INDEX

= ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“œ๋Š” Key ๊ฐ’์— ์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋Š” ๋œป

 

 

3.NON- UNIQUE INDEX

= ์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€์•ผ๋งŒ ใ….ํ•˜๋Š” ์ปฌ๋Ÿผ์ผ ๊ฒฝ์šฐ 

 

 

4.FunctionBased INDEX

= ์ธ๋ฑ์Šค๋ฅผ์‚ฌ์šฉํ•  ๋•Œ WHERE ์ ˆ ์กฐ๊ฑด์„ ๋‹ค๋ฅธํ˜•ํƒœ๋กœ ๊ฐ€๊ณตํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค!

 

 

5.DESCENDING INDEX

= ๋‚ด๋ฆผ์ฐจ์ˆœ(ํฐ๊ฐ’๋จผ์ €) ์ธ๋ฑ์Šค ์ƒ์„ฑํ•จ

 

6. Compoosite INDEX

= ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ปฌ๋Ÿผ์„ ํ•ฉ์ณ์„œ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ

= WHERE ์ ˆ ์กฐ๊ฑด ์ปฌ๋Ÿผ์ด 2๊ฐœ ์ด์ƒ AND ๋กœ ๋ฌถ์ธ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•จ

 

BITMAP INDEX

= OLAP (์˜จ๋ผ์ธ๋ถ„์„์ฒ˜๋ฆฌ์šฉ) ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ

 

 

์ธ๋ฑ์Šค ์ฃผ์˜์‚ฌํ•ญ

โ–ถ DML ์— ์ทจ์•ฝํ•˜๋‹ค

=DML ์ด ๋ฐœ์ƒํ•˜๋Š” ํ…Œ์ด๋ธ”์€ ์ธ๋ฑ์Šค๋ฅผ ์ตœ์†Œํ•œ์œผ๋กœ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค.

=๋ชจ๋“  ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค.

 

1. INSERT 

=์ธ๋ฑ์Šค๊ฐ€ ์ƒ์„ฑ๋œ ์ปฌ๋Ÿผ์— INSERT ๋  ๊ฒฝ์šฐ INDEX Spiltํ˜„์ƒ ๋ฐœ์ƒ (์ธ๋ฑ์Šค Block์ด ๋‘๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š” ํ˜„์ƒ)

=Insert ์ž‘์—… ๋ถ€ํ•˜๊ฐ€ ์‹ฌํ•ด์งˆ ์ˆ˜ ์žˆ์Œ

=์ธ๋ฑ์Šค๋Š” ์ •๋ ฌ๋˜์„œ ์ €์žฅ๋œ๋‹ค! -> ์ž๋ฆฌ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ๋ธ”๋ก์„ ์ƒˆ๋กœ ๋งŒ๋“œ๋Š”๋ฐ ๋‘๊ฐœ์˜ ๋ธ”๋ก์œผ๋กœ ์˜ฎ๊ฒจ์ง€๊ฒŒ ๋˜๋Š” ํ˜„์ƒ

 

2. DELETE

=์ธ๋ฑ์Šค๋Š” ์ง€์›Œ์ง€์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ ์•ˆ๋œ๋‹ค๋Š” ํ‘œ์‹œ๋งŒ ๋œ๋‹ค

 

3.UPDATE

= ์ธ๋ฑ์Šค์—๋Š” update ๊ฐœ๋…์ด ์—†๋‹ค.

= ์ธ๋ฑ์Šค์—์„œ๋Š” delete ๋ฐœ์ƒ - > ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ insert / ๋™์‹œ์— ๋ฐœ์ƒ

= ์ธ๋ฑ์Šค์— ๋‹ค๋ฅธ DDL ๋ณด๋‹ค ๋” ํฐ ๋ถ€ํ•˜๋ฅผ ์ค€๋‹ค.

 

โ–ถ ํƒ€ sql ์‹คํ–‰ํ—ค ์•…์˜ํ–ฅ

= ๋‹ค๋ฅธ sql ๋ฌธ์žฅ๋“ค๊นŒ์ง€ ์ „๋ถ€ ๊ณ ๋ คํ•œ ํ›„ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค.

 

 

์ธ๋ฑ์Šค ๊ด€๋ฆฌ๋ฐฉ๋ฒ•

โ–ถ์ธ๋ฑ์Šค ์กฐํšŒํ•˜๊ธฐ

โ–ถ์‚ฌ์šฉ์—ฌ๋ถ€ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ

-๋ชจ๋‹ˆํ„ฐ๋ง์‹œ์ž‘ํ•˜๊ธฐ

-๋ชจ๋‹ˆํ„ฐ๋ง์ค‘๋‹จํ•˜๊ธฐ

-์‚ฌ์šฉ์œ ๋ฌด ํ™•์ธํ•˜๊ธฐ

โ–ถINDEX Rebuild

 

 

Invisible Index