๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
๊ทธ๋์์ ํ๊ณ ๋ก
๋ฌด์จ ๋ง๋ก ํ๊ณ ๊ธ์ ์์ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค.. ๋๋ฌด ์ค๋๋ง์ ์์ฑํ๋ ๊ธ์ด๊ธฐ๋ ํ๊ณ , ๋จ์ํ ๊ณต๋ถํ ๋ด์ฉ์ ๊ธฐ๋กํ๋ ๊ธ์ด ์๋์ด์ ๋ ์ด๋ ต๊ณ ๊ณ ๋ฏผ์ด ๋๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋๋ 22๋ 8์๋ถํฐ 23๋ 2์๊น์ง๋ ๋งค ๋ฌ๋ง๋ค ๊พธ์คํ ์์ฑํ์๋๋ฐ..ใ ใ ๊ต์ก์ด ๋๋๊ณ ๋์๋ ์กฐ๊ธ์ฉ ๋ฏธ๋ฃจ๋ค ๋ณด๋ ๊ฒฐ๊ตญ 1๋ ์ด๋ผ๋ ์๊ฐ์ด ์ง๋๊ณ ๋์ ์ฐ๊ฒ ๋์๋ค. ํ๊ณ ๋ฅผ ์ฐ๊ธฐ ์ํด์, ๋ด ์ง๋๋ ์ ์๊ฐํด ๋ดค๋๋ฐ, ์ฒ์ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ๋ก ๊ฒฐ์ ํ๋ ๋ ์ด ๊ฐ์ฅ ๋จผ์ ๋ ์ค๋ฅธ๋ค. ๋๋ ์ํ๊ณผ ์ฃผ์ ๊ณต + ๊ธฐ๊ณ๊ณตํ ๋ณต์์ ๊ณต์ ํ์ง๋ง, ๋จ์ํ ๋ ๋ง์ด ๋ฒ + ํ์ฌ ๋ค์ ๋ฐธ๋ฅ๋ฅผ ๊ฟ๊ฟจ๊ธฐ์ ์ผ์ฑ์ด๋ ํ๋์ ๊ฐ์ ๋๊ธฐ์ ์ ์กฐ์ฌ์ ์ทจ์ ์ ํ๊ณ ์ถ์๋ค. ๊ทธ์ ๋ํด์ ์ง๋ฐฉ ๊ทผ๋ฌด๋ ์ํ ๊ทผ๋ฌด๋ฅผ ํ๊ณ ์ถ์ง ์์๊ณ , ์์ธ์ด๋ ์๋๊ถ์์ ์ถํด๊ทผํ ์ ์๋ ์ง๋ฌด๋ง ๊ณจ๋ผ ๋ฃ..
NL ์กฐ์ธ์ ์๋ฆฌ
์กฐ์ํ๋์ ์น์ ํ SQL ํ๋์ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. NL ์กฐ์ธ์ Nested Loop ์กฐ์ธ์ ์ฝ์๋ก ์ค์ฒฉ ๋ฃจํ ๋ฌธ๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์กฐ์ธ์ด ์ด๋ฃจ์ด์ง๋ค. ์ ๋ ํ ์ด๋ธ๋ฅผ ์ฌ์ ๋ฒํธ๋ก ์กฐ์ธํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ํ๋ก๊ทธ๋๋ฐ ์์ผ๋ก ๋ก์ง์ ๊ตฌํํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์๋ค. for(int i=0;i= '19960101' AND e.๋ถ์์ฝ๋ = 'Z123' AND c.๊ด๋ฆฌ์ฌ์๋ฒํธ = e.์ฌ์๋ฒํธ AND c. ์ต์ข ์ฃผ๋ฌธ๊ธ์ก >= 20000 ์์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์คํ ํ, ROWS | OPERATION 5 |NESTED LOOPS 3 |TABLE ACCESS BY INDEX ROWID OF ์ฌ์ 2780 | INDEX RANGE SCAN OF ์ฌ์_X1 5 | TABLE ACCESS BY INDE..
Chapter 7. ๊ฐ์ฒด ๋ถํด
์กฐ์ํธ๋์ ์ค๋ธ์ ํธ๋ฅผ ์ฝ๊ณ ์ ๋จธ๋ฆฟ์์ ์๋ ๋ด์ฉ๋ค์ ์ ๋ฆฌํ๋ฉฐ ์์ฑํ ๊ธ์ ๋๋ค. ํ๋ก์์ ์ถ์ํ์ ๊ธฐ๋ฅ ๋ถํด ๐ก ํ๋ก์์ ๋ ๋ฐ๋ณต์ ์ผ๋ก ์คํ๋๊ฑฐ๋ ๊ฑฐ์ ์ ์ฌํ๊ฒ ์คํ๋๋ ์์ ๋ค์ ํ๋์ ์ฅ์์ ๋ชจ์๋์์ผ๋ก์จ ๋ก์ง์ ์ฌ์ฌ์ฉํ๊ณ ์ค๋ณต์ ๋ฐฉ์งํ ์ ์๋ ์ถ์ํ ๋ฐฉ๋ฒ์ด๋ค. ์ ํต์ ์ธ ๊ธฐ๋ฅ ๋ถํด ๋ฐฉ๋ฒ์ ์์คํ ์ ๊ตฌ์ฑํ๋ ์ต์์ ๊ธฐ๋ฅ์ ์ ์ํ๊ณ ์์ ๋จ๊ณ์ ํ์ ๊ธฐ๋ฅ์ผ๋ก ๋ถํดํด ๋๊ฐ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ๐ก ์ธ๋ถํ๋ ๋ง์ง๋ง ํ์ ๊ธฐ๋ฅ์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๊ตฌํ๊ฐ๋ฅํ ์์ค์ด ๋ ๋๊น์ง ๊ณ์ ๋๋ค. ํํฅ์ ํ๋ก์์ ์ถ์ํ๋ฅผ ํตํด ๋ง๋ ํ๋ก๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑ์ด ๋๋ค. ์ต์์ ๊ธฐ๋ฅ(){ ์ธ๋ถ๊ธฐ๋ฅ1(); ์ธ๋ถ๊ธฐ๋ฅ2(); ์ธ๋ถ๊ธฐ๋ฅ3(); .. } ์ต์์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์ฌ๋ฌ๊ฐ์ ์ธ๋ถ๊ธฐ๋ฅ์ด ํธ์ถ๋์ด ์ํ๋ ์ต์์ ๊ธฐ๋ฅ์ ์..
Where ์กฐ๊ฑด ์ ์์ Between ๊ณผ Like
์กฐ์ํ๋์ ์น์ ํ SQL ํ๋์ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. Between ๊ณผ Like์ ์ค์บ ๋ฒ์ ์ฐจ์ด Between ๊ณผ Like ๋ ๋ฒ์ ๊ฒ์์ ํ ๋ ํ์ฉ๋ ์ ์๋๋ฐ, ์ธ๋ป ๋น์ทํด๋ณด์ด์ง๋ง ํจ์จ์ ์ธ ์ธก๋ฉด์์ ์ดํด๋ณด๋ฉด ๋ค๋ฅด๊ฒ ๋์ํ๋ค. ์๋ฅผ ๋ค์ด, ํ์ ํ ์ด๋ธ์ ์๋ ์ ์นผ๋ผ๊ณผ ํ์ ์นผ๋ผ์ด ์๊ณ [์๋ ์ + ํ์ ] ์ด ์ธ๋ฑ์ค๋ผ๊ณ ๊ฐ์ ํด๋ณด์. 1995๋ ์์ด๋ฉด์ ํ์ ์ด 'B'์ธ ๋ ์ฝ๋๋ค์ ๊ฒ์ํ๊ธฐ ์ํด์๋ 1๏ธโฃ Between ์ ๊ฒฝ์ฐ SELECT * FROM ํ์ WHERE ์๋ ์ BETWEEN "199501" AND "199512" AND ํ์ = 'B'; 2๏ธโฃ Like ์ ๊ฒฝ์ฐ SELECT * FROM ํ์ WHERE ์๋ ์ LIKE "1995%" AND ํ์ = 'B'; ์ ๊ฐ..
Where ์กฐ๊ฑด ์ ์์ Between ๊ณผ in ์ ์ฐจ์ด
์กฐ์ํ๋์ ์น์ ํ SQL ํ๋์ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. Between ๊ณผ In ์กฐ๊ฑด์ ์ ์ธ๋ฑ์ค ์ค์บ ๋ฒ์ ๋น๊ตํด๋ณด๊ธฐ ์์ ๊ฐ์ด, DEPTNO ์ JOB ์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ฑํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. SELECT * FROM TABLE WHERE DEPTNO BETWEEN 10 AND 30 AND JOB = 'B' ์์ ๊ฐ์ ์ฟผ๋ฆฌ๊ฐ ์คํ๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น? ๋จผ์ , DEPTNO๊ฐ 10์ด๋ฉด์ JOB์ด 'B' ์ธ ๋ ์ฝ๋์์ ํ์์ ์์ํ์ฌ DEPTNO ๊ฐ 30์ด๋ฉด์ JOB์ด 'B'๊ฐ ์๋๊ฒ ๋๋ ๋ ์ฝ๋ ๊น์ง ํ์ํ ๊ฒ์ด๋ค. ์์ง์ ํ์์ ํ๋ฒ ์ด๋ฃจ์ด์ง์ง๋ง, ์ํ์ ํ์์ด ๋ง์ ๋ ์ฝ๋๋ฅผ ํ์ํ๊ฒ๋๋ค. ๋ฐ๋ฉด์, SELECT * FROM TABLE WHERE DEPTNO IN (10,20,30) AND..
Chapter 6. ๋ฉ์์ง์ ์ธํฐํ์ด์ค
์กฐ์ํธ๋์ ์ค๋ธ์ ํธ๋ฅผ ์ฝ๊ณ ์ ๋จธ๋ฆฟ์์ ์๋ ๋ด์ฉ๋ค์ ์ ๋ฆฌํ๋ฉฐ ์์ฑํ ๊ธ์ ๋๋ค. ๋ฉ์์ง์ ๋ฉ์๋ ๐ก ๋ฉ์์ง๋, ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด์๊ฒ ์ ์ผํ๊ฒ ์ ๊ทผํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค. ์๋ฐ ๋ฌธ๋ฒ์ ์๋ก ๋ค๋ฉด ์๋์ ๊ฐ์ ๊ฒ์ด ๋ฉ์์ง ์ ์ก์ด๋ค. ์์ ์.์คํผ๋ ์ด์ ๋ช (์ธ์); [ ex. condition.isSatisfiedBy(screening) ] โ ๋ฉ์ธ์ง์ ๋ฉ์๋๋ ๊ทธ๋ฌ๋ฉด ๊ฐ์๊ฑฐ ์๋์ผ? ๋ง์ฝ, ์์ ์ ๊ฐ์ฒด๊ฐ ์ธํฐํ์ด์ค ํํ๊ฐ ์๋ ๊ตฌํ์ฒด๋ผ๋ฉด ๋ง๋ ๋ง์ด ๋ ์ ์๋ค. ํ์ง๋ง, ๐จ ์์ ์ ๊ฐ์ฒด๊ฐ ์ธํฐํ์ด์ค๋ก ์ ์๋์ด์๋ค๋ฉด, ํด๋น ๋ฉ์์ง๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ๋๋์ ๋ฐ๋ผ ์ค์ ์คํ๋๋ ํ๋ก์ธ์ค๊ฐ ๋ฌ๋ผ์ง๋ค. ๋ฐ๋ผ์, ๐ก ๋ฉ์๋๋ ์์ ์ ๊ฐ์ฒด๊ฐ ๋ฉ์์ง๋ฅผ ๋ฐ์, ์ค์ ๋ก ์คํ๋๋ ํ๋ก์ธ์ค(ํจ์)๋ฅผ ๋ฉ์๋๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋ฉ์์ง๋ฅผ ์ ์กํ๋ ..
๋ฐฐ์น I/O์ ์ธ๋ฑ์ค๋ฅผ ๋ฏฟ๊ณ ์ฟผ๋ฆฌ์ ORDER BY๋ฅผ ์๋ตํ๋ฉด ์๋๋ ์ด์
์กฐ์ํ๋์ ์น์ ํ SQL ํ๋์ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ธ๋ฑ์ค์ ๋นํจ์จ์ ์ธ ๋๋ค I/O ์์ธ์ค ์ธ๋ฑ์ค๋ ํฐ ํ ์ด๋ธ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ๋ ์ ์ฉํ๋ค๊ณ ๋ฐฐ์ ๋ค. ์ธ๋ฑ์ค๋ก ๋ ์ฝ๋์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ, ์ธ๋ฑ์ค์ ์ฐ๊ฒฐ๋ ํด๋น ๋ ์ฝ๋๊ฐ ์กด์ฌํ๋ ๋ธ๋ก ์ ๋ณด๋ฅผ ํตํด์ ๋ ์ฝ๋์ ์ ๊ทผํด์ผํ๊ธฐ ๋๋ฌธ์ ๋๋ค I/O ๋ก ์ ๊ทผํด์ผํ๊ณ ์ด ๋๋ค I/O๊ฐ ๋ง์์ง๋ฉด, ์ ์ฒด ํ ์ด๋ธ์ ํ ์ค์บํด์ ์ํ์ ์์ธ์ค๋ก ์ ๊ทผํ๋๊ฒ ๋น์ฉ์ด ๋ ์ ์ด์ง ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๐ก ์ด๋ฌํ ์ฑ๋ฅ ๋นํจ์จ์ ์ด๋์ ๋ ๊ฐ์์ํค๊ธฐ ์ํด, ์ด์ ์ธ๋ฑ์ค๋ฅผ ํตํด ์ ๊ทผํ๋ ํ ์ด๋ธ ๋ธ๋ก ์ ๋ณด๋ฅผ ์ ์ฅํด๋์๋ค๊ฐ ์ผ์นํ๋ฉด ๋ฐ๋ก ์ ๊ทผํ๋ ์บ์ฑ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ธดํ์ง๋ง ์ธ๋ฑ์ค๋ก ์ ๋ ฌ๋ ๋ ์ฝ๋๋ง๋ค ๋ค๋ฅธ ๋ธ๋ก์ ๊ฐ๋ฆฌํค๋ฉด ํจ๊ณผ๋ฅผ ๋ณด๊ธฐ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋์ ๊ณ ์ํด๋ธ..
Chapter 5. ์ฑ ์ ํ ๋นํ๊ธฐ
์กฐ์ํธ๋์ ์ค๋ธ์ ํธ๋ฅผ ์ฝ๊ณ ์ ๋จธ๋ฆฟ์์ ์๋ ๋ด์ฉ๋ค์ ์ ๋ฆฌํ๋ฉฐ ์์ฑํ ๊ธ์ ๋๋ค. ์ฑ ์ ์ฃผ๋ ์ค๊ณ ๋ฐ์ดํฐ๋ฅผ ์ค์ฌ์ผ๋ก ์ค๊ณํ๊ฒ๋๋ฉด ์ ์ฐํ ์ค๊ณ๋ฅผ ํ๊ธฐ ํ๋ค๋ค. ์ ์ด์, '๋ฐ์ดํฐ' ๋ผ๋ ๊ฒ์ ๊ฐ์ฒด์ ๊ตฌ์ฒด์ ์ธ ์ ๋ณด์ด๊ณ , ์ด๋ ๊ตฌํ์ ํด๋นํ๋ค. ๋ฐ๋ผ์, ๋ฐ์ดํฐ ์ค์ฌ์ ์ค๊ณ๋ ๊ฐ์ฒด์ ๊ตฌํ๋ถ์ ์ด์ ์ ๋ง์ถ๊ณ ์ค๊ณ ํ๋ค๋ ์๋ฏธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ค์ ์ผ๋ก ๊ฐ์ฒด ๊ฐ ํ๋ ฅ์ ์๊ฐํ๊ฒ ๋๋ฉด ์ธ๋ถ ๊ฐ์ฒด์๊ฒ ์์ ์ ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ๋๊ฒจ์ฃผ๋ ๊ฒ์ด๋ฏ๋ก ์บก์ํ๋ฅผ ๋ฐฉํดํ๊ฒ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, ๊ตฌํ์ ์ค์ ์ผ๋กํ ์ค๊ณ๋ ์บก์ํ๋ฅผ ์ ํดํ๊ณ ์์ง๋๋ ๋ฎ์ถ๊ณ ๊ฒฐํฉ๋๋ ๋์์ผ๋ก์ ๋ณํ์ ์ทจ์ฝํ ์ค๊ณ๊ฐ ๋๋ค. ๐ก ๋ฐ๋ผ์, ๊ฐ์ฒด ์งํฅ์ ํต์ฌ์ธ ํ๋ ฅ, ์ฑ ์, ์ญํ ์ค ๊ฐ์ฅ ์ค์ํ ์ฑ ์ ์ ์ค์ ์ผ๋ก ์ค๊ณํ๋ ๊ฒ์ด ์ ์ฐํ ์ค๊ณ๋ฅผ ํ ์ ์๊ฒ ํด์ค๋ค. [..
์ธ๋ฑ์ค ํ๋
์กฐ์ํ๋์ ์น์ ํ SQL ํ๋์ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ธ๋ฑ์ค๋ฅผ ํตํด ๋ ์ฝ๋๋ฅผ ์ฐพ์๊ฐ๋ ๊ณผ์ ๋จผ์ , ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ ์ ์๋ ์ธ๋ฑ์ค ํ ์ด๋ธ์ด ์บ์ฑ๋์ด ์๋์ง ํ์ธํ๋ค. ์บ์ฑ๋์ด ์๋ค๋ฉด, ์ธ๋ฑ์ค ํ ์ด๋ธ์์ ์ธ๋ฑ์ค ์กฐ๊ฑด์ ๋ง๋ ๋ ์ฝ๋๋ฅผ ์ฐพ๋๋ค. ๊ทธ๋ฌ๋ฉด, ํด๋น ์กฐ๊ฑด์ ๋ง๋ ์ค์ ๋์คํฌ ์ ๋ ์ฝ๋์ ์์น ์ ๋ณด๋ฅผ ํ์ ํ ์ ์๋ค.(ROWID) ์ค์ ์ ๊ทผํด์ผํ๋ ๋์คํฌ ์ ๋ ์ฝ๋์ ์์น๋ ์ผ๋ฐ์ ์ผ๋ก ๋ธ๋ก์ผ๋ก ๊ด๋ฆฌํ๋ฏ๋ก, ํด๋น ๋ธ๋ก์ด ์ด๋ฏธ ๋ฒํผ์ ์บ์ฑ๋์ด ์๋์ง ํ์ธํ๊ณ ์๋ค๋ฉด ์บ์ฑ๋ ๋ธ๋ก์ ์ ๊ทผํด์ ๊ฐ์ ธ์จ๋ค. ๋ง์ฝ, ๊ทธ๋ ์ง ์๋ค๋ฉด ์ค์ ๋์คํฌ๋ก ์ ๊ทผํ๋ค. ๋ฒํผ์์๋ ํ ์ด๋ธ ๋ธ๋ก ์์น ๊ฐ์ ํด์ฑํ์ฌ ๊ณ ์ ํ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ ํ ๊ด๋ฆฌํ๋ค. ๊ทธ ๊ณผ์ ์์, ํด์ฑ ๊ณ์ฐ์ด ํ์ํ๋ฏ๋ก ๋ฐ๋ก ์ฃผ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ..
equals() ์ hashcode()
equals() ์ hashcode() ๋ฉ์๋์ ์ญํ ๊ณผ ๊ด๊ณ์ ๋ํด์ ์๊ฐํด๋ณด์. 1๏ธโฃ ๋์ผ์ฑ๊ณผ ๋๋ฑ์ฑ ์ผ๋ฐ์ ์ผ๋ก ๋์ผ์ฑ์ ๋ฉ๋ชจ๋ฆฌ์ ๋์ผํ ์์น์ ์๋์ง๋ฅผ ํ๋จํ๊ณ , ๋๋ฑ์ฑ์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ฐ์ ๋ฐ์ดํฐ๋ก ์ทจ๊ธํ ์ ์๋๊ฐ๋ฅผ ํ๋จํ๋ค. ์๋ฐ์ ๋ฐ์ดํฐ ํ์ ์ ์์ ํ์ (Primitive Type)๊ณผ ์ฐธ์กฐ ํ์ (Reference Type) ๋ฐ์ดํฐ ๋ ์ข ๋ฅ๋ก ๋๋ ์ ์๋ค. JVM์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์๋ ์คํ ์์ญ๊ณผ ํ ์์ญ์ด ์กด์ฌํ๋๋ฐ, ์์ ํ์ ์ ๊ฒฝ์ฐ ์คํ ์์ญ์ ๊ฐ์ผ๋ก์ ๊ด๋ฆฌ๋์ง๋ง, ์ฐธ์กฐ ํ์ ์ ๊ฒฝ์ฐ ํ ์์ญ์์ ์์ฑ๋๊ณ ์คํ ์์ญ์์๋ ํ ์์ญ์ ์์น๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ค. public class Main { public static void main(String[] args) { int port ..
์ธ๋ฑ์ค ์ปฌ๋ผ ๊ฒฐ์ ๊ณผ ๊ฐ๊ณต
์กฐ์ํ๋์ ์น์ ํ SQL ํ๋์ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ธ๋ฑ์ค ์ค์บ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ 2 ๊ฐ์ง๋ก ๋๋ ์ ์๋ค. 1. ํ ์ด๋ธ ์ ์ฒด ์ค์บ 2. ์ธ๋ฑ์ค ์ค์บ ํ ์ด๋ธ ์ ์ฒด ์ค์บ์ ๋ง ๊ทธ๋๋ก, ํ ์ด๋ธ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ ๋ธ๋ก ์ ์ฒด๋ฅผ ์ค์บํ๋ค. ์ธ๋ฑ์ค ์ค์บ์ ์ธ๋ฑ์ค๋ก ์ค์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ ์ผ์ ๋์ ์ค์บํ๋ค. โ ์ธ๋ฑ์ค ์ค์บ ๋ฐฉ์์ด ํญ์ ์ ๋ฆฌํ ๊น? ๊ทธ๋ ์ง ์๋ค. ๐ก ์ธ๋ฑ์ค ์ค์บ ๋ฐฉ์์ ํฐ ํ ์ด๋ธ์์ ์๋์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ณ ์ ํ ๋ ์ ์ฉํ๋ค. ์๋ก, ์ ์ฒด ํ ์ด๋ธ ์ค์บ์ ์งํํ๋ฉด ๋ฒํผ ์บ์์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ์ง ์์ ์, ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ํ์ํ๋ฏ๋ก ์ค๋ ์๊ฐ์ด ์์๋ ์ ์๋ค. ํ์ง๋ง, ํ๋ฒ ๊ฐ์ ธ์ค๊ณ ๋ ๋ค์๋ ํด๋น ํ ์ด๋ธ๊ณผ ๊ด๋ จํ ๋ฐ์ดํฐ๋ ๋ฌผ๋ฆฌ์ I/O ์์ด ํ์ํ ์ ์๋ค. ์ธ๋ฑ์ค ์ค์บ..
[JAVA] ๋ฐฑ์ค 1507๋ฒ ใG2.๊ถ๊ธํ ๋ฏผํธใ
๋ฌธ์ 1507๋ฒ: ๊ถ๊ธํ ๋ฏผํธ ์ฒซ์งธ ์ค์ ๋์์ ๊ฐ์ N(1 ≤ N ≤ 20)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฐ๊ฐ์ ๋์ ์ฌ์ด์ ์ด๋ํ๋๋ฐ ํ์ํ ์๊ฐ์ด ์ฃผ์ด์ง๋ค. A์์ B๋ก ๊ฐ๋ ์๊ฐ๊ณผ B์์ A๋ก ๊ฐ๋ ์๊ฐ์ ๊ฐ๋ค. ๋, A์ B www.acmicpc.net ํ์ด 1๏ธโฃ ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ ํ์ด ๐ก ์ฐธ๊ณ ํ Idea ๋จผ์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋น์ฉ ๊ทธ๋ํ๊ฐ ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ฏธ ํ๋ฒ ๊ฑฐ์น ๋น์ฉ ๊ทธ๋ํ๋ผ๊ณ ์๊ฐํด์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์, ์ด ๊ทธ๋ํ๋ฅผ ๋ค์ ๋ถํด๋ฅผ ํด์ผํ๋๋ฐ ์ด๋ป๊ฒ ๋ถํดํ ์ ์์๊น? ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ฒฝ์ฐ costs[u][v] = Math.min(costs[u][v], costs[u][m] + costs[m][v]);โ ์์ ๊ฐ์ด u์์ v๋ก ๊ฐ๋ ๋น์ฉ๋ณด๋ค, u์์ m์ผ๋ก ๊ฐ..
SQL ์ฒ๋ฆฌ ๊ณผ์ ๊ณผ I/O
์กฐ์ํ๋์ ์น์ ํ SQL ํ๋์ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. SQL ์ฒ๋ฆฌ ๊ณผ์ SQLํ์ฑ๊ณผ ์ต์ ํ 1๏ธโฃ SQL ํ์ฑ ์ฌ์ฉ์๋ก๋ถํฐ SQL์ ์ ๋ฌ๋ฐ์ผ๋ฉด SQL ํ์๊ฐ ํ์ฑ์ ์งํํ๋ค. ๐ก SQL ๋ฌธ์ ์ด๋ฃจ๋ ๊ฐ๋ณ ๊ตฌ์ฑ ์์๋ฅผ ๋ถ์ํ์ฌ ํ์ฑ ํธ๋ฆฌ๋ฅผ ์์ฑํ๋ค. ๐ก ๊ทธ๋ฆฌ๊ณ ์ ๋ฌ ๋ฐ์ SQL ๋ฌธ์์ ๋ฌธ๋ฒ์ ์ค๋ฅ (์ฌ์ฉํ ์ ์๋ ํค์๋ ์ฌ์ฉ ๋ฑ) ๋ ์๋ฏธ์ ์ค๋ฅ(์กด์ฌํ์ง ์๋ ํ ์ด๋ธ ํน์ ์ปฌ๋ผ ์ฌ์ฉ ๋ฑ)๊ฐ ์กด์ฌํ๋์ง ํ์ธํ๋ค. 2๏ธโฃ SQL ์ต์ ํ ๐ก ์ตํฐ๋ง์ด์ ๋ ๋ค์ํ ์คํ ๊ฒฝ๋ก๋ฅผ ์์ฑํด์ ๋น๊ตํ ํ, ๊ฐ์ฅ ํจ์จ์ ์ธ ํ๋๋ฅผ ์ ํํ๋ค. ๊ทธ๋ ๊ฒ ์ ํํ ๊ฒฝ๋ก๋ฅผ ์คํ ๊ฐ๋ฅํ ์ฝ๋ ๋๋ ํ๋ก์์ ํํ๋ก ํฌ๋งทํ ํ๋ค. ์คํ ๊ณํ๊ณผ ๋น์ฉ MySQL ์๋ฒ๋ก ์์ฒญ๋ ์ฟผ๋ฆฌ๋ ๊ฒฐ๊ณผ๋ ๋์ผํ์ง๋ง ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด ..
Chapter 4. ์ค๊ณ ํ์ง๊ณผ ํธ๋ ์ด๋์คํ
์กฐ์ํธ๋์ ์ค๋ธ์ ํธ๋ฅผ ์ฝ๊ณ ์ ๋จธ๋ฆฟ์์ ์๋ ๋ด์ฉ๋ค์ ์ ๋ฆฌํ๋ฉฐ ์์ฑํ ๊ธ์ ๋๋ค. ํ๋ ฅ, ์ฑ ์, ์ญํ ๊ทธ๋ฆฌ๊ณ ์ค๊ณ ํ์ง ํ๋ ฅ์ ๊ฐ์ฒด๋ค ๊ฐ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ์งํ๋๋ ์ํธ์์ฉ์ด๋ค. ์ฑ ์์ ๊ฐ์ฒด๊ฐ ์ํํ๋ ํ๋์ด๋ค. ์ญํ ์ ์ฑ ์๋ค์ ์งํฉ์ด๋ค. ํ๋ ฅ, ์ฑ ์, ์ญํ ํ ๋น์ด ์ ๋์ด์ผ ๋ฐ๋์งํ ๊ฐ์ฒด ์งํฅ ์ค๊ณ๊ฐ ๊ฐ๋ฅํด์ง๋ค. ๐ก ๊ทธ ์ค์์๋ ์ฑ ์์ด ์ ํ ๋น๋๋ ๊ฒ์ด ์ค์ํ๋ค. ๐จ ์ญํ ์ ์ฑ ์์ ์งํฉ์ด๊ธฐ ๋๋ฌธ์, ์ฑ ์์ ํ์ง์ ์์กดํ๊ฒ ๋๋ค. ํ๋ ฅ ์ญ์, ์ฑ ์์ด ์ ํ ๋น๋์ง ๋ชปํ๋ฉด ํจ์จ์ ์ผ๋ก ํ ์ ์๊ฒ๋๋ค. โ ์ฑ ์์ ์ด๋ค ์์ผ๋ก ํ ๋นํด์ผํ ๊น? ๋น์ทํ ์ฑ ์๋ผ๋ฆฌ ํ๋์ ๋ชฉ์ ์ ์ํด ํ๋ ฅํ๋ ๊ฒ ๋ผ๋ฆฌ ๋ชจ์๋๋ ๋์ ์์ง๋์ ๋ค๋ฅธ ์ฑ ์๋ผ๋ฆฌ ๋ถ๋ฆฌํ๋ ๋ฎ์ ๊ฒฐํฉ๋๋ฅผ ๋ง์กฑํ๋๋ก ํ๋ ๊ฒ์ด ์ข๋ค. ๊ทธ๋์ผ๋ง, ๋ณ๊ฒฝ์ด ์ผ์ด๋ฌ์ ๋..
[JAVA] ๋ฐฑ์ค 13168๋ฒ ใG3.๋ด์ผ๋ก ์ฌํใ
๋ฌธ์ 13168๋ฒ: ๋ด์ผ๋ก ์ฌํ ์ฒซ ๋ฒ์งธ ์ค์๋ ํ๊ตญ์ ์๋ ๋์์ ์ N(1 ≤ N ≤ 100)๊ณผ 1์ธ๋น ๋ด์ผ๋ก ํฐ์ผ์ ๊ฐ๊ฒฉ R(1 ≤ R ≤ 1,000,000)์ด ์ฃผ์ด์ง๋๋ค. ๋ ๋ฒ์งธ ์ค์๋ N๊ฐ์ ๋์์ ์ด๋ฆ์ด ์ฃผ์ด์ง๋๋ค. ๋์์ ์ด๋ฆ์ ์ํ๋ฒณ ๋์ www.acmicpc.net ํ์ด 1๏ธโฃ ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ํด์๋ฅผ ์ด์ฉํ ํ์ด ๐ก ๋ ์ค๋ฅธ Idea ๋จผ์ , ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ ๋์์ ๋์๊ฐ ์ด๋ค ๊ฒฝ๋ก๋ฅผ ๊ฑฐ์น๋ ์ต์ ๋น์ฉ์ ๊ตฌํด์ผ๊ฒ ๋ค๊ณ ์๊ฐ์ด ๋ค์๋ค. ๋ค๋ง, ์ด ๋ฌธ์ ์ ๊ฒฝ์ฐ ๋์๊ฐ ์ซ์๊ฐ ์๋ ๋ฌธ์์ด์ ํํ๋ก ์ฃผ์ด์ง๊ธฐ ๋๋ฌธ์ ๋์๋ฅผ ๊ณ ์ ํ ์ซ์๋ก ๋ณํํ์ฌ ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. 1. ๋จผ์ , ์ฃผ์ด์ง๋ ๋์์ ์ค๋ณต์ด ์์ ์ ์๋ค๊ณ ํ์ผ๋ฏ๋ก ์ค๋ณต์ ์ ๊ฑฐํ๋ค. ์ค๋ณต์ ์ ๊ฑฐ..