SELECT a.gid, a.qid,
SUM(a.result = 1) first_attempt_correct,
SUM(a.result = 0) first_attempt_incorrect
FROM maf_game_stats a
LEFT JOIN
(
SELECT USERID, gid, QID, MIN(ACCESSTIME) min_date
FROM maf_game_stats
GROUP BY USERID, gid, qid
) b ON a.USERID = b.USERID AND
a.gid = b.gid AND
a.qid = b.qid AND
a.ACCESSTIME = b.min_date
WHERE a.gid ='2'
AND a.ACCESSTIME >= '2014-09-01' AND a.ACCESSTIME < '2014-09-10' + INTERVAL 1 DAY
GROUP BY a.gid, a.qid
Вышеприведенные время выполнения запроса 40 до 50 сек, как я могу разбить thses запросMySQL запросов внутреннее соединение занял 40 до 45 сек
Или как переписать я уже используется индексирование, но не использовать ..? – Vasanth
Невозможно индексировать левую таблицу, полученную в результате соединения, не уверен, почему вы просто не присоединяетесь к фактической таблице и не добавляете некоторые группы? – exussum
Как минимум, обновите свой вопрос с помощью объяснения и определений таблиц. – Kermit