Я поймал этот запрос в журнале slowquerys.
SELECT GREATEST( IFNULL(`twk-status`.`status`,0) , `groups`.`status`)
FROM `groups`
LEFT JOIN `twk-status` ON
(`twk-status`.`groupID` = `groups`.`ID`
AND `twk-status`.`startdate` <= FROM_UNIXTIME(1317204000)
AND `twk-status`.`enddate` >= FROM_UNIXTIME(1317204000)
AND ISNULL(`twk-status`.`deleted`)
AND `twk-status`.`groupID` = 11)
WHERE `groups`.`ID` = 11;
Я выполнил запрос с помощью EXPLAIN, выдав следующий отчет:
id table possible_keys key
1 twk-status groupID,groupID_2,enddate NULL
1 groups PRIMARY PRIMARY
Это означает, что mysql не использовал ни одну из трех возможных клавиш для таблицы twk-status . Правильно?
Вот ключи от twk-status
groupID (groupID)
groupID_2 (groupID, startdate, enddate, deleted)
enddate (enddate, createdate, deleted)
В запросе используется groupID, startdate, enddate, удалено Я думал, что groupID_2 будет ключом.
Или это проблема запроса, а не индекса?
Спасибо заранее.