고수님들의 조언좀 부탁드립니다.
아직까지 갈길이 참 먼것같습니다.
다름이 아니라
아래와 같은 쿼리문을 explain했을때 인덱스를 타는지 체크를 하고있습니다.
건수는 250만건 정도인데요
인덱스는 아래처럼 잡았습니다.
Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
tbl | 0 | PRIMARY | 1 | idx | A | 2275687 | (NULL) | (NULL) | BTREE | ||
tbl | 1 | name | 1 | name | A | 379281 | (NULL) | (NULL) | YES | BTREE | |
tbl | 1 | name | 2 | A | 2275687 | (NULL) | (NULL) | YES | BTREE | ||
tbl | 1 | code | 1 | code | A | 2 | (NULL) | (NULL) | YES | BTREE | |
tbl | 1 | code | 2 | num | A | 2275687 | (NULL) | (NULL) | YES | BTREE |
EXPLAIN SELECT
idx,
CODE,
num,
NAME,
email,
domain
FROM
tbl
WHERE
CODE = 'sign'
ORDER BY num DESC
-- 결과 --
id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
1 | SIMPLE | tbl | ALL | code | (NULL) | (NULL) | (NULL) | 1706907 | Using where; Using filesort |
많은 정보를 찾아보고 시도를 해도 도대체 뭐가 문제인지 모르겟습니다.
고수님들의 조언좀 부탁드립니다.
검색 패턴마다 필요 인덱스는 다릅니다.
그렇다고 모든 검색 패턴별로 인덱스를 만들수는 없겠지요.
자주 쓰는 패턴 몇가지를 가지고 필요 인덱스를 검토하고
중요 검색 조건을 선정하고
인덱스들를 통합할 수 있는지까지를 검토해서
최종 인덱스를 선정해야 하겠지요.
http://wiki.gurubee.net/pages/viewpage.action?pageId=12189750