Я выполняю следующий запрос в экземпляре Cloud SQL (тип D1 mysql 5.6.16), выполнение которого занимает 11 секунд. В той же базе данных с теми же индексами и контентом, работающим на mysql (v5.5.35) на моем общем хостинге (что не является чем-то особенным с точки зрения спецификаций), запрос занимает всего 0,068 секунды.
Запрос:
SELECT casenotes.caseworkerID,COUNT(*)
FROM emails LEFT JOIN (casenotes) ON (emails.ID=casenotes.subtypeID)
WHERE emails.type='sent' AND casenotes.type='email' AND
emails.datetime > '2014-05-01'
GROUP BY casenotes.caseworkerID;
Это результат объяснения на сервере Cloud SQL
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE casenotes ref type,subtypeID,caseworkerID type 22 const 6447 Using index condition; Using where; Using temporary; Using filesort 1 SIMPLE emails eq_ref PRIMARY,ID,type,datetime PRIMARY 8 casework_test.casenotes.subtypeID 1 Using where
Это результат объяснения на моем виртуальном хостинге
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE casenotes ref type,subtypeID type 22 const 6451 Using where; Using temporary; Using filesort 1 SIMPLE emails eq_ref PRIMARY,type,datetime PRIMARY 8 zahawizs_caseworker.casenotes.subtypeID 1 Using where
Есть ли у кого-нибудь предложения о том, как я могу настроить либо мой оператор select, либо экземпляр сервера Cloud SQL, чтобы вернуть это быстрее.