Я пытаюсь получить подсчет опросов, которые необходимо принять, которые хранятся в seotc
, а количество завершенных обследований хранится seotcresults_v2
. Таблица seotc
содержит почти 100 тыс. Записей, а таблица seotcresults_v2
занимает примерно половину этого. Как я могу ускорить этот запрос?Ускорьте это заявление MySQL
SELECT
DISTINCT seotcresults_v2.Clock,
COUNT(seotc.Id) AS Surveys,
COUNT(seotcresults_v2.Id) AS Complete
FROM seotc
JOIN seotcresults_v2 ON seotcresults_v2.Clock = seotc.Clock
WHERE seotcresults_v2.CampusID = 40
AND seotcresults_v2.Term = 201011
ORDER BY seotc.Clock
UPDATE:
Спасибо за все ответы. Структура таблицы (минимально) такова:
seotc: | Id | Часы | CampusID | Срок |
seotcresults_v2: | Id | Часы | CampusID | Срок | Q1 | Q2 | ... и т.д.
Id
является автоинкрементным индекса в каждой таблице для обследований и результатов обследования
Где Clock
'является идентификатором для инструктора и можно найти несколько раз в таблице seotc
и seotcresults_v2
потому что они имеют несколько классов и несколько опросов, выполненных для каждого класса на несколько терминов. Я по существу пытаюсь определить скорость ответа, основанную на количестве опросов для преподавателя в данном кампусе в данном термине, по сравнению с количеством результатов, опубликованных с учетом тех же параметров. Это помогает?
Я также попытаюсь запустить EXPLAIN также в ближайшее время.
Возможно, вы захотите добавить структуру таблицы к своему вопросу. – 2010-12-09 15:58:05
Какие индексы вы определили в этих таблицах? – 2010-12-09 15:58:22