๐ ๋๋ผ์ด๋น ํ ์ด๋ธ (DRIVING TABLE)์ด๋?
- JOIN์ ๋จผ์ ์ก์ธ์ค ๋ผ์ ACCESS PATH๋ฅผ ์ฃผ๋ํ๋ํ ์ด๋ธ
๐ ๋๋ฆฌ๋ธ ํ ์ด๋ธ(DRIVEN TABLE, INNER TABLE)
- ๋์ค์ ์ก์ธ์ค ๋๋ ํ ์ด๋ธ์ ๋๋ฆฌ๋ธ ํ ์ด๋ธ(DRIVEN TABLE, INNER TABLE)
์กฐ์ธ์ ์ํฅ
- ์ธ๋ฑ์ค(INDEX)์ ์กด์ฌ ๋ฐ ์ฐ์ ์์ ํน์ FROM์ ์์์ TABLE ์ง์ ์์์ ์ํฅ์ ๋ฐ์
- ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋, ๋๋ผ์ด๋น ํ ์ด๋ธ์ ๋งค์ฐ ์ค์ํ๋ค.
์์
10000๊ฑด์ ๋ฐ์ดํฐ A
5000๊ฑด์ ๋ฐ์ดํฐ B
10000๊ฑด์ ๋จผ์ ๋๋ผ์ด๋นํ๊ฒ ๋๋ค๋ฉด -> 10000๋ฒ ๋๋ฉด์ Bํ
์ด๋ธ ํ์
5000๊ฑด์ ๋จผ์ ๋๋ผ์ด๋นํ๊ฒ ๋๋ค๋ฉด -> 5000๋ฒ ๋๋ฉด์ ํ์
๊ฒฐ์ ๊ท์น
- ๊ท์น๊ธฐ๋ฐ ์ตํฐ๋ง์ด์ (Rule-Based Optimizer, RBO)์์๋ ์ฐ์ฐ์, ์ธ๋ฑ์ค์ ์ ๋ฌด, ์กฐ๊ฑด์ ํํ ๋ฑ ์ ํด์ง ๊ท์น์ ์ฐ์ ์์์ ๋ฐ๋ผ ์คํ๊ณํ์ ์์ฑ
- ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ ์ก์ธ์ค ๋ฐฉ์์ด ์ ์ฒด ํ ์ด๋ธ ์ก์ธ์ค ๋ฐฉ์๋ณด๋ค ์ฐ์ ์์๊ฐ ๋์
- ์กฐ์ธ ์นผ๋ผ์ ๋ํ ์ธ๋ฑ์ค๊ฐ ์์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ์กด์ฌํ ๋, ์ฐ์ ์์๊ฐ ๋์ ํ ์ด๋ธ์ ์ ํ
- ์กฐ์ธ ์นผ๋ผ์๋ง ์ธ๋ฑ์ค๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ์ธ๋ฑ์ค๊ฐ ์๋ ํ ์ด๋ธ์ ๋จผ์ ์ ํํ์ฌ ์กฐ์ธ ์ํ
- ๋ง์ฝ ์กฐ์ธ ํ ์ด๋ธ์ ์ฐ์ ์์๊ฐ ๋์ผํ์ง์๋ค๋ฉด, FROM ์ ์ ๋์ด๋ ํ ์ด๋ธ์ ์ญ์์ผ๋ก ์ํ
- ๋น์ฉ๊ธฐ๋ฐ ์ตํฐ๋ง์ด์ (Cost-Based Optimizer, CBO)๋ ๊ท์น์ ์ฐ์ ์์๊ฐ ์๋ ์ฟผ๋ฆฌ๋ฅผ ์ํํ๋๋ฐ ์์๋๋ ์์ ๋น์ฉ์ ๋ฐํ์ผ๋ก ์คํ๊ณํ์ ์์ฑํ๋ค. ํต๊ณ์ ๋ณด, DBMS ์ค์ ์ ๋ณด, DBMS ๋ฒ์ ๋ฑ์ ์ฐจ์ด๋ก ์ธํด ๋๊ฐ์ SQL๋ฌธ์ด๋ผ๋ ์๋ก ๋ค๋ฅธ ์คํ๊ณํ์ด ์์ฑ๋ ์ ์๋ค.
'์ฑ > real mysql' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฟผ๋ฆฌ ์์ฑ ๋ฐ ์ต์ ํ (2) (0) | 2022.01.12 |
---|---|
์ฟผ๋ฆฌ ์์ฑ ๋ฐ ์ต์ ํ (1) (0) | 2022.01.12 |
5. ์ธ๋ฑ์ค(2) - ๊ทธ์ธ ์ธ๋ฑ์ค (0) | 2021.12.30 |
5์ฅ. ์ธ๋ฑ์ค (0) | 2021.12.30 |
ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค (0) | 2021.12.27 |