Я никогда не пойму правильное использование индекса 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
Требуется 2 минуты, чтобы прочитать данные.:( В таблице 1,4 миллиона данных.
Вот результат объяснения:
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
Большое спасибо.