๐ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค๋?
๐ ๋ญ๋ฐ?
๊ฐ๋จํ ๋งํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ํจ์ฌ ๋ ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก SQL์ 0๋ถํฐ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํฉ๋๋ค. ์ฌ์ ์์ 0ํ์ด์ง๋ถํฐ ๋จ์ด๋ฅผ ๊ฒ์ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋์ ๋นจ๋ฆฌ ์ฐพ์ผ๋ ค๋ฉด ๋ฌด์์ด ํ์ํฉ๋๊น?
โผ ๊ทธ๋ฐ ๊ฒ์ ํจ์ฌ ๋ ๋นจ๋ฆฌ ์ฐพ์ ์ ์์ต๋๋ค! ๋ค ์ธ๋ฑ์ค๋ ๋น์ทํด์
๐ ์ธ์ ์ฌ์ฉํด์ผ ํ๋์?
1000์ ๋๊น์ง๋ ์ธ๋ฑ์ค ์์ด๋ ๋ฌธ์ ์์ด ๊ฒ์์ด ๊ฐ๋ฅํ์ง๋ง 10000์ ๋๋ถํฐ๋ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค!
๐ ์ด๋ป๊ฒ ํ์ธํด์ผ ํ๋์?
SQL์ด ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํฉ๋๋ค.
์ด๋ป๊ฒ? ๊ทธ๋ฅ ์ฌ์ฉ
Explain
๋ช
๋ น// just add "EXPLAIN" before query
EXPLAIN SELECT * FROM member WHERE Id=1;
๐ select_type
SIMPLE: ๋จ์ SELECT(UNION ๋๋ SUB QUERY๋ฅผ ์ฌ์ฉํ์ง ์์)
๐ ์ ํ
ALL : ๋ชจ๋ ๋ ์ฝ๋ ๊ฒ์(= ํ ์ด๋ธ ์ค์บ. ์ค์บ์ ๋ณต์ฌ ์ค์บ๊ณผ ์ ์ฌํ๋ฉฐ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ ์ฒด ๋ ์ฝ๋๋ง)
์ธ๋ฑ์ค : ์ธ๋ฑ์ค ์ฌ์ฉ
์ฐธ์กฐ: ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ง๋ง UNIQUE ๋๋ PRIMARY KEY๋ ์ฌ์ฉํ์ง ์์(๐คฉ ์ฐ๋ฆฌ๊ฐ ์ํฉ๋๋ค!!)
EQ_REF: ์ธ๋ฑ์ค๊ฐ UNIQUE ๋๋ PRIMARY KEY์
๐ ํ
์ฟผ๋ฆฌ ๋ ์ฝ๋ ์
์๋ฅผ ๋ค์ด ํ์ฌ 50,000๊ฐ์ ๋ ์ฝ๋๊ฐ ์๊ณ ํ์ 45780์ด๋ฏ๋ก ๊ฑฐ์ 92%์ ๋ ์ฝ๋๊ฐ SQL์์ ๊ฒ์๋์์ต๋๋ค.
๐ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์
โผ ์ธ๋ฑ์ค ์ ๋ณด ํ์(์ง๊ธ๊น์ง ์๋ฌด ๊ฒ๋ ํ์ํ์ง ์์์ผ ํจ)
SHOW INDEX FROM hoge_table;
โผ ์ธ๋ฑ์ค ์์ฑ
// ALTER TABLE hoge_table ADD INDEX hoge_index_name(column_name);
ALTER TABLE member ADD INDEX member_index_by_id(Id);
โผ ๋์ผํ SELECT SQL ํ์ธ
EXPLAIN SELECT * FROM member WHERE Id=1;
โผ ์ด์ ํ์ 1์ ๋๋ค! (SQL์ ํ๋์ ๋ ์ฝ๋/์ด๋ง ๊ฒ์ํจ)
๐ index_type
Bํธ๋ฆฌ:
๊ฒ์ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋์ธ Balanced tree์ ๋๋ค. ์ด์ง ํธ๋ฆฌ์ ์ ์ฌํฉ๋๋ค.
๐ ๊ธฐ๋ณธ ํค, ๊ณ ์ ํค
- ๊ธฐ๋ณธ ํค
์ค์ ๋ก ๊ธฐ๋ณธ ํค๋ฅผ ์ค์ ํ๋ ๊ฒ์ ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๋ ๊ฒ๊ณผ ๋์ผํ๋ฉฐ ์ผ๋ฐ ์ธ๋ฑ์ค๋ณด๋ค ๋น ๋ฅด๋ฏ๋ก ๋จผ์ ํ์ธํด์ผ ํฉ๋๋ค.
- ๊ณ ์ ํค(์: ์ด๋ฉ์ผ)
๋ํ ๊ณ ์ ํค๋ฅผ ์ค์ ํ๋ ๊ฒ์ ์์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
โผ ์ฐ์ ์์๋ ์ด๋ ์ต๋๋ค
๊ธฐ๋ณธํค > ๊ณ ์ ํค > ์ธ๋ฑ์ค
๐ ๋จ์
1. ์๋ก์ด ์ธ๋ฑ์ค ํ์ผ์ ์์ฑํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ ์ฝ๋ ๋ชฉ๋ก์ ๋ณ๊ฒฝํ๋ ๊ฒ.
2.LIKE๋ %๋ก ์์ํ๋ ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๋ฉด SQL์ด
๋ชจ๋ ๊ธฐ๋ก ๊ฒ์
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค๋?), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/kaziusan/what-is-database-index-4m5lํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค