Я пытаюсь получить количество запросов с помощью простого предложения внутреннего соединения.Я создал индекс для всех атрибутов.Запрос очень медленный: (12 секунд).У меня 4 миллиона записей в таблице 1 и таблице 2. Это мой запрос:
select count(*)
from (`mymodb`.`Table1`
join `mymodb`.`Table2` on ((`mymodb`.`Table2`.`id` =`mymodb`.`Table1`.`id_table1`)))
where (`mymodb`.`Table2`.`merchant_id` = 16444)
and Table1.created_at >= '2017-12-03 16:00:19' AND Table1.created_at <='2018-05-03 16:00:19';
Это команда запроса desc (см. 5.524.164 записи):
1 SIMPLE Table1 ALL Table12_index,Table16_index 5524164 21.38 Using where
1 SIMPLE Table2 eq_ref PRIMARY,idx_Table2_id-uniq,Table26_index PRIMARY 8 mymodb.Table1.id_table1 1 50 Using where
Таблица2
Какой наилучший способ получить запрос подсчета с внутренним объединением двух таблиц (Таблица 1 - Таблица 2).12 секунд очень плохое время для моего процесса.