2011-10-11 2 views
0

mysql 인덱스의 정확한 사용법을 이해하지 못합니다. 내가 읽은 모든 게시물과 문서에서 그들은 단순한 색인에 대해 이야기하고 있습니다.mysql 성능 인덱스

SELECT COUNT(sid),f_partner,COUNT(DISTINCT(cid)) FROM sal_forwarding WHERE 
forwardDate BETWEEN "2011-06-01" AND "2011-06-30" GROUP BY f_partner 

그것은 데이터를 읽을 이분을 필요로 : 나는 다음과 같은 쿼리를 가지고있다. :( 표는 1.4million 데이터 행을 가지고 여기에

Explain 스 결과 인도 표준시 :..

id select_type table type possible_keys key key_len ref rows Extra 
1 SIMPLE sal_forwarding index forwardDate,forwardDate_2,forwardDate_3 f_partner 25 (NULL) 1416282 Using where 

내 인덱스는 (f_partner, forwardDate) 성능을 향상시킬 수있는 올바른 해결책이 무엇

?
f_partner = varchar(20) 
forwardDate = Date 

당신에게 대단히 감사합니다

+1

http://use-the-index-luke.com - 단순한 경우뿐만 아니라 색인 생성에 전념하는 전체 사이트. –

+1

[MySQL 매뉴얼의이 부분] (http://dev.mysql.com/doc/refman/5.5/en/mysql-indexes.html)은 MySQL 인덱스와 관련된 모든 제 질문에 답변했습니다. – michael667

답변

1

인덱스는 수 (forwardDate, f_partner)을한다 -. 처음 where 절을 만족하고 group_by