๋ณธ ํฌ์คํ ์ ํ๋ก๊ทธ๋๋จธ์ค ๋ฏธ๋ ๋ฐ๋ธ ์ฝ์ค๋ฅผ ๊ณต๋ถํ๋ฉฐ
ํ์ต์ ๊ธฐ๋กํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์์ฑ๋ ๊ธ์ ๋๋ค.
์ธ๋ฑ์ค
๋ ํ
์ด๋ธ์์ ๊ฒ์ ์์
์ ๋น ๋ฅด๊ฒ ์ํํ๊ธฐ ์ํด MySQL์ด ๋ณ๋๋ก ๋ง๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋งํ๋ค.
MySQL ๋ด๋ถ์์ ์ปฌ๋ผ
์ ์ฌ์ฉํ ๊ฒ์์ด๋ JOIN์, ์ฌ์ฉ๋๋ ์ปฌ๋ผ์ด pk
๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ง์์ ์ํ์๋๊ฐ ๋ฆ์ด์ง ์ ์๋ค.
๊ทธ๋ฌ๋ ์ฌ์ฉ๋๋ ์ปฌ๋ผ์ Index
๋ฅผ ๊ฑธ์ด์ค๋ค๋ฉด
๋ง์น ์ฑ
์ ์๋ ์์ธ์ผ๋ก ์ด๋ค ๋ด์ฉ์ ์ฝ๊ฒ ์ฐพ์ ์ ์๋ ๊ฒ์ฒ๋ผ
๊ฒ์ ์์
์ ์ํํ ๋์ ์ ์ฒด์ ์ธ ์๋๊ฐ ๋นจ๋ผ์ง๋ค.
์ธ๋ฑ์ค๋ ์ปฌ๋ผ๋ณ๋ก ๋ง๋ค์ด์ง๋ฉฐ,
PK
๋ FK
๋ก ์ง์ ๋ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง๋ค.
๋จ, Index๋
SELECT, DELECT, JOIN
์ ์ํ ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํ์ง๋ง
๋ ์ฝ๋๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ๋ณ๊ฒฝ๋๋ ์ฐ๊ธฐ ์์
์ธ INSERT, UPDATE
์ ๊ฒฝ์ฐ์๋ ์คํ๋ ค ์๋๋ฅผ ๋ฆ์ถ๋ค. ๋ ์ฝ๋๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์ธ๋ฑ์ค๊ฐ ๋ค์ ๋ณ๊ฒฝ๋์ด์ผํ๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋ ๋๋ ค์ง๋ ๊ฒ์ด๋ค.
๊ฒ๋ค๊ฐ ๊ณผ๋ํ ์ธ๋ฑ์ค์ ์ฌ์ฉ์ ์ค๋ฒํค๋๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.
์ปฌ๋ผ์ ์ธ๋ฑ์ค๋ฅผ ๋ถ์ผ ๋๋ง๋ค MySQL์ B+ํธ๋ฆฌ
๋ผ๋ ๋ณ๋์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด ๋ก๋ฉํ๋ค.
๊ทธ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ์คํ๋ ค ์ฟผ๋ฆฌ ์๋๊ฐ ๋๋ ค์ง๊ณ , ๋ง์ ๋ฆฌ์์ค๋ฅผ ์ก์๋จน๊ธฐ ๋๋ฌธ์ DB์ ์ ์ฒด์ ์ธ ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์๋ค.
๋ฐ๋ผ์ ์ธ๋ฑ์ค๋ ์ ๋ง ํ์ํ ํ ์ด๋ธ์๋ง ์ ๋ณํด์ ์ฌ์ฉํด์ผํ ํ์๊ฐ ์๋ค.
1. ์ธ๋ฑ์ค ์์ฑ
-- ํ
์ด๋ธ ์์ฑ ์ ์ธ๋ฑ์ค ์์ฑ
CREATE TABLE ํ
์ด๋ธ ์ด๋ฆ (
์ปฌ๋ผ1 INT NOT NULL,
์ปฌ๋ผ2 VARCHAR(20),
PRIMARY KEY (์ปฌ๋ผ1),
INDEX indexName(์ปฌ๋ผ2)
);
-- ํ
์ด๋ธ ์์ฑ ์ดํ ์ธ๋ฑ์ค ์ถ๊ฐ
ALTER TABLE ํ
์ด๋ธ๋ช
ADD INDEX(์ปฌ๋ผ๋ช
);
ALTER TABLE ํ
์ด๋ธ๋ช
ADD UNIQUE(์ปฌ๋ผ๋ช
); -- ์ ๋ํฌํ ์ธ๋ฑ์ค ์ฌ์ฉ
ALTER TABLE ํ
์ด๋ธ๋ช
ADD FULLTEXT(์ปฌ๋ผ๋ช
); -- ์ปฌ๋ผ์์์ ํ
์คํธ ๊ฒ์์ด ๋ง์ ๊ฒฝ์ฐ. MySQL์์ ํ
์คํธ ๊ฒ์์ ์ฝ๊ฒ ์ํํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์์ฑํ๋ค.
2. ์ธ๋ฑ์ค ์ญ์
ALTER TABLE ํ
์ด๋ธ๋ช
DROP INDEX (์ปฌ๋ผ๋ช
); -- ์ธ๋ฑ์ค ์ญ์