select_type
โข
select ๋ฌธ์ ์ ํ
โข
SIMPLE : ๋จ์ select๋ฌธ
โข
PRIMARY : ์ฒซ๋ฒ์งธ ์ฟผ๋ฆฌ
โข
DERIVED : select๋ฌธ์ผ๋ก ์ถ์ถ๋ ํ
์ด๋ธ ( from ์ ์์์ ์๋ธ์ฟผ๋ฆฌ ๋๋ inline view)
โข
SUBQUERY : sub query ์ค ์ฒซ๋ฒ์งธ select๋ฌธ
โข
UNION : UNION์ฟผ๋ฆฌ์์ PRIMARY๋ฅผ ์ ์ธํ ๋๋จธ์ง select๋ฌธ
โข
DEPENDENT SUBQUERY
โข
DEPENDENT UNION
type
system | ํ
์ด๋ธ์ ๋จ ํ๊ฐ์ ๋ฐ์ดํฐ๋ง ์๋ ๊ฒฝ์ฐ |
const | SELECT์์ Primary Key ํน์ Unique Key๋ฅผ ์ด์๋ก ์กฐํํ๋ ๊ฒฝ์ฐ๋ก ๋ง์์ผ ํ ๊ฑด์ ๋ฐ์ดํฐ๋ง ์์ |
eq_ref | ์กฐ์ธ์ ํ ๋ Primary Key |
ref | ์กฐ์ธ์ ํ ๋ Primary Key ํน์ Unique Key๊ฐ ์๋ Key๋ก ๋งค์นญํ๋ ๊ฒฝ์ฐ |
ref_or_null | ref ์ ๊ฐ์ง๋ง null ์ด ์ถ๊ฐ๋์ด ๊ฒ์๋๋ ๊ฒฝ์ฐ |
index_merge | ๋ ๊ฐ์ ์ธ๋ฑ์ค๊ฐ ๋ณํฉ๋์ด ๊ฒ์์ด ์ด๋ฃจ์ด์ง๋ ๊ฒฝ์ฐ |
unique_subquery | ๋ค์๊ณผ ๊ฐ์ด IN ์ ์์ ์๋ธ์ฟผ๋ฆฌ์์ Primary Key๊ฐ ์ค๋ ํน์ํ ๊ฒฝ์ฐSELECT *FROM tab01WHERE col01 IN (SELECT Primary Key FROM tab01); |
index_subquery | unique_subquery์ ๋น์ทํ๋ Primary Key๊ฐ ์๋ ์ธ๋ฑ์ค์ธ ๊ฒฝ์ฐSELECT *FROM tab01WHERE col01 IN (SELECT key01 FROM tab02); |
range | ํน์ ๋ฒ์ ๋ด์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๊ฒฝ์ฐ๋ก, ๋ฐ์ดํฐ๊ฐ ๋ฐฉ๋ํ์ง ์๋ค๋ฉด ๋จ์ SELECT ์์๋ ๋์์ง ์์ |
index | ์ธ๋ฑ์ค๋ฅผ ์ฒ์๋ถํฐ ๋๊น์ง ์ฐพ์์ ๊ฒ์ํ๋ ๊ฒฝ์ฐ๋ก, ์ผ๋ฐ์ ์ผ๋ก ์ธ๋ฑ์ค ํ์ค์บ์ด๋ผ๊ณ ํจ |
all | ํ
์ด๋ธ์ ์ฒ์๋ถํฐ ๋๊น์ง ๊ฒ์ํ๋ ๊ฒฝ์ฐ๋ก, ์ผ๋ฐ์ ์ผ๋ก ํ
์ด๋ธ ํ์ค์บ์ด๋ผ๊ณ ํจ |
possible_keys
โข
ํด๋น ํ
์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ์ํด ์ ํํ ์ธ๋ฑ์ค ๋ชฉ๋ก
key
โข
์ค์ ๋ก ์ฟผ๋ฆฌ ์คํ์ ์ฌ์ฉํ ์ธ๋ฑ์ค
key_len
โข
์ฌ์ฉํ ์ธ๋ฑ์ค์ ๊ธธ์ด
โข
MySQL์ด ์ธ๋ฑ์ค์ ์ผ๋ง๋ ๋ง์ ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ์ง๋ฅผ ๋ณด์ฌ์ค๋ค. MySQL์์ ์ธ๋ฑ์ค์ ์๋ ์ปฌ๋ผ๋ค ์ค ์ผ๋ถ๋ง ์ฌ์ฉํ๋ค๋ฉด ์ด ๊ฐ์ ํตํด ์ด๋ค ์ปฌ๋ผ๋ค์ด ์ฌ์ฉ๋๋ ์ง๋ฅผ ๊ณ์ฐํ ์ ์๋ค.
Extra
โข
์ฟผ๋ฆฌ์ ๊ดํ ์ถ๊ฐ์ ์ธ ์ ๋ณด
โข
distinct : ์ด๋ฏธ ์ฒ๋ฆฌํ ๊ฐ๊ณผ ๋์ผํ ๊ฐ์ ๊ฐ์ง Row๋ ์ฒ๋ฆฌํ์ง ์์.
โข
not exist : left join์ ์ํํจ์ ๋งค์น๋๋ ํ ํ์ ์ฐพ์ผ๋ฉด ๋ ์ด์ ๋งค์น๋๋ ํ์ ๊ฒ์ํ์ง ์์.
โข
Range checked for each record :์ฌ์ฉํ ์ข์ ์ธ๋ฑ์ค๊ฐ ์์.
โข
using filesort : ์ ๋ ฌ์ ์ํด ์ถ๊ฐ์ ์ธ ๊ณผ์ ์ ํ์๋ก ํจ(๋ฌผ๋ฆฌ์ ์ธ ์ ๋ ฌ์์
์ํ)
โข
using index : ์ค์ ๋ฐ์ดํฐ Block์ ์ฝ์ง ์๊ณ ์ธ๋ฑ์ค Block ๋ง์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ ์ ์๋ ๊ฒฝ์ฐ
โข
using temporary : ์์ ํ
์ด๋ธ์ ์ฌ์ฉ. order by ๋ group by ์ ์ด ๊ฐ๊ธฐ ๋ค๋ฅธ ์ปฌ๋ผ์ ์ฌ์ฉํ ๋ ๋ฐ์
โข
using where : where์ ์ด ๋ค์ ์กฐ์ธ์ ์ฌ์ฉ๋ ํ์ด๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ค์ง ํ์ ์ ํํ๋ ๊ฒฝ์ฐ
โข
using index for group-by
โ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ ํ ๋น ๋ฅด๊ฒ ํ๋ ค๋ฉด, Extra ๊ฐ์ Using filesort๋ Using temporary์ ์ฃผ์ํด์ผ ํจ.
โ EXPLAIN์ ์ถ๋ ฅ ๋ด์ฉ ์ค rows ์ปฌ๋ผ๊ฐ๋ค์ ๊ณฑํด๋ด์ผ๋ก์จ ์ผ๋ง๋ ํจ๊ณผ์ ์ธ join์ ์คํํ๊ณ ์๋์ง ์ ์ ์๋ค.