์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ํจ์
- ์น์ ํ SQL ํ๋
- SQLํ๋
- @PreAuthorize("isAuthenticated()")
- ์ฐ์ ์ฐ์ฐ์
- ์๋ณ์
- ๋น๊ต ์ฐ์ฐ์
- join
- ๊ฐ์ฒด
- ๋ ผ๋ฆฌ ์ฐ์ฐ์
- ์น์ ํ SQL
- ์์ฝ์ด
- SQL ํ๋
- SpringSecurity ๋ก๊ทธ์ธ
- ์ธํ ๋ฆฌ์ ์ด Web ์ ํ๋ฆฌ์ผ์ด์
- ๋ฐ๋ณต๋ฌธ
- ์๋ฐ์์ ์
- SpringSecurity ๋ก๊ทธ์์
- ์์
- java
- ์ค๋ฒ๋ผ์ด๋ฉ
- SQL
- ๊ฐ์ฒด์งํฅ
- ์ฐ์ฐ์
- ๋ฐฐ์ด
- spring ๊ฒ์ํ ์ญ์
- ์ค๋ฒ๋ก๋ฉ
- ์คํ๋ง์ํ๋ฆฌํฐ ๋ก๊ทธ์์
- StringBuffer
- ์ดํด๋ฆฝ์ค ์ค์น
- Today
- Total
gi_dor
๐ SQL ํ๋ - CH 4. ์กฐ์ธ ํ๋ - ์ํธ ๋จธ์ง ์กฐ์ธ ๋ณธ๋ฌธ
๐ SQL ํ๋ - CH 4. ์กฐ์ธ ํ๋ - ์ํธ ๋จธ์ง ์กฐ์ธ
๊ธฐ๋ 2023. 8. 18. 17:48๐บ ์ํธ ๋จธ์ง ์กฐ์ธ
์ธ๋ฑ์ค๊ฐ ์์ด์ ์ ๋ ฌ ํ ๋ค์ ์กฐ์ธํ๋ค.
๋จ์ : ๋๋์ด๋ผ ๊ณต๊ฐ์ ๋ง์ด ์ฐจ์งํจ
์กฐ์ธ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๊ฐ ์์ ๋ ๋๋์ ๋ฐ์ดํฐ ์กฐ์ธ์ด์ด์ ์ธ๋ฑ์ค๊ฐ ํจ๊ณผ์ ์ด์ง ์์ ๋
์ตํฐ๋ง์ด์ ๋ NL์กฐ์ธ ๋์ ์ํธ๋จธ์ง ์กฐ์ธ ์ด๋ ๋ค์์ ์์ ํด์ ์กฐ์ธ์ ์ ํํ๋ค
โ ํด์ ์กฐ์ธ์ ์ฌ์ฉ ํ ์ ์๋ ์ํฉ์์ ๋๋ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ธํ๊ณ ์ ํ ๋ ์ ์ฉํจ
1 - 1 SGA vs PGA
PGA : ๊ฐ์ธ ์ฌ์ฉ์ private , ์ ๋ ฌํํฐ
SGA : ๊ณตํต , ๊ณต์ ์ฌ์ฉ์
Temp : Temp๋ผ๋ ํ
์ด๋ธ ์คํ์ด์ค
๐ PGA ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๊ณต์ ํ์ง ์๋ ๋ ๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ธ๋ฐ ๊ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋๋ผ๋ SGA ๋ฒํผ์บ์์์ ์ฝ์ ๋ ๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๋ค. - ๋ฐ๋ก Lock ๊ฑธ์ง๋ ์์
1 - 2 ๊ธฐ๋ณธ ๋ฉ์ปค๋์ฆ
1 ) ์ํธ ๋จ๊ณ : ์์ชฝ ์งํฉ์ ์กฐ์ธ ์ปฌ๋ผ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํจ
2 ) ๋จธ์ง ๋จ๊ณ : ์ ๋ ฌํ ์์ชฝ ์งํฉ์ ์๋ก ๋จธ์ง ํ๋ค
์ธ๋ฑ์ค๊ฐ ์์ด์ PGA ์ฌ์ฉ , ๊ณต๊ฐ ๋ถ์กฑ์ TEMP ํ ์ด๋ธ ์คํ์ด์ค ์ฌ์ฉํ๋ค.
์กฐ์ธ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๊ฐ ์์ด๋ ์ฌ์ฉํ ์ ์๋ค , ์กฐ์ธ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๊ฐ ์์ด๋ NL์กฐ์ธ์ ๋๋ ๋ฐ์ดํฐ๊ฐ ์กฐ์ธํ ๋
๋ถ๋ฆฌ ํ๋ฏ๋ก ์ํธ ๋จธ์ง ์กฐ์ธ์ ์ฌ์ฉํ๋ค
๊ณ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ฉด ์ ๋ ฌ์ด ๋์ด์๋๊ฒ์ด ๋ณด์ด๋๋ฐ
์ธ๋ฑ์ค๋ฅผ ์์ฐ๊ธฐ์ ์ ๋ ฌ์ ํจ , ๊ทธ๋์ ์ ๋ ฌ์ ํ ๋ค์ ๋จธ์ง๋ฅผ ํ๋ค
ํ๋์ฉ for๋ฌธ ๋๋ฉด์ ๊ฒ์
1 - 3 ์ํธ ๋จธ์ง ์กฐ์ธ์ด ๋น ๋ฅธ ์ด์
NL์กฐ์ธ์ DBMS๊ฐ ๊ณตํต์ผ๋ก ์ ๊ณตํ๋ ์กฐ์ธ ๋ฐฉ์์ด๋ค
๋์ ๋๋ ๋ฐ์ดํฐ ์กฐ์ธํ ๋ ์ฑ๋ฅ์ด ๋งค~~~์ฐ ๋๋ฆฌ๋ค
์ํธ๋จธ์ง ์กฐ์ธ์ Sort Area์์ ๋ฏธ๋ฆฌ ์ ๋ ฌํด๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ๋ค.
1 - 4 ์ํธ๋จธ์ง ์กฐ์ธ์ ์ฉ๋
๋๋ค ์ก์ธ์ค ์์ฃผ์ NL ์กฐ์ธ ์ดํ ๋๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ํธ๋จธ์ง ์กฐ์ธ์ด ํด๊ฒฐํ๋๋ฐ
ํ์ฌ๋ ํด์ ์กฐ์ธ์ด ๋ ๋น ๋ฅด๋ค..
ํด์์กฐ์ธ์ ์กฐ์ธ ์กฐ๊ฑด์์ด ๋ฑ์น( = ) ์ผ ๋ ๋ง ์ฌ์ฉ ํ ์ ์๋ค.
- ์กฐ์ธ ์กฐ๊ฑด์์ด ๋ฑ์น( = ) ์กฐ๊ฑด์ด ์๋ ๋๋ ๋ฐ์ดํฐ ์กฐ์ธ
- ์กฐ์ธ ์กฐ๊ฑด์์ด ์์ ์๋ ์กฐ์ธ // WHERE X (Cross JOIN)
Cross JOIN ์ ๋๊ฐ์ ํ
์ด๋ธ์ ๋ชจ๋ ํ ์กฐํฉ์ ์์ฑํ๋ค .
์๋ฅผ ๋ค์ด Aํ
์ด๋ธ 10๊ฐํ , Bํ
์ด๋ธ 5๊ฐํ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด 10 * 5 = 50๊ฐ์ ํ์ ๋ฐํํจ.
1 - 5 ์ํธ๋จธ์ง ์กฐ์ธ ํน์ง
1 ) ์ค์๊ฐ์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋๊ฒ๊ณผ ๋ค๋ฆ์๋ค - CPU Cost โณ
2 ) ์์ชฝ ์งํฉ์ ์ ๋ ฌํ๋ค์์ NL ์กฐ์ธ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์งํ, ํ์ง๋ง PGA ์์ญ์ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ๊ธฐ์
๋น ๋ฅด๋ค
3 ) NL ์กฐ์ธ์ ์ปฌ๋ผ์ ๋ํ ์ธ๋ฑ์ค ์ ๋ฌด์ ํฌ๊ฒ ์ํฅ์ ๋ฐ์ง๋ง , ์ํธ๋จธ์ง ์กฐ์ธ์ ์ํฅ์ ๋ฐ์ง์๋๋ค
4 ) ์์ชฝ ์งํฉ์ ๊ฐ๋ณ์ ์ผ๋ก ์ฝ๊ณ ๋์ ์กฐ์ธ์ ์์ํ๋ค.
5 ) ์ค์บ ์์ฃผ์ ์ก์ธ์ค ๋ฐฉ์์ ์ฌ์ฉํ๋ค
6 ) ์ํธ๋จธ์ง๋ ์์คํ ์ ๋ถ๋ด์ ์ฃผ๋๋ฐ , ์ ๋ ฌ๋ ํด์ผํด๊ณ JOIN ํ ๋ ๋ง๋ค ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ด๋ค.
'First > SQL ํ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ SQL ํ๋ - CH 4. ์กฐ์ธ ํ๋ - ์๋ธ์ฟผ๋ฆฌ ์กฐ์ธ (0) | 2023.08.21 |
---|---|
๐ SQL ํ๋ - CH 4. ์กฐ์ธ ํ๋ - ํด์ ์กฐ์ธ (0) | 2023.08.18 |
๐ SQL ํ๋ - CH 4. ์กฐ์ธ ํ๋ - NL ์กฐ์ธ (0) | 2023.08.18 |
๐ SQL ํ๋ - CH 3. ์ธ๋ฑ์ค ํ๋ (0) | 2023.08.18 |
๐ SQL ํ๋ - CH 2. ์ธ๋ฑ์ค ๊ธฐ๋ณธ (0) | 2023.08.17 |