У меня есть MySQL базу данных с помощью таблицы, которая имеет следующие столбцы ..Можно ли оптимизировать этот запрос?
id
dealerId
month_year
total_price
total_count
vin_prefix
и таблица имеет 20 миллионов записей, я хочу, чтобы получить сумму (TOTAL_PRICE) всех этих автомобилей, проданных дилером с ID # 02 (это довольно просто)
Однако, я хочу, чтобы получить сумму всех других дилеров, которые продали свои машины с таким же vin_prefix, как дилер # 02
так я написал этот запрос ...
SELECT d.dealerId
FROM `dealer_monthly_report` d
where d.dealerId <> 2
and d.vin_prefix in (select distinct(d2.vin_prefix)
from `dealer_monthly_report` d2
where d2.dealerId = 2)
group by d.dealerId
Но можем ли мы оптимизировать этот запрос в любом случае? Индексы использовались отдельно для дилеров, vin_prefix и month_year.
Спасибо!
Distinct действительно не нужны в вашем В запросе. Может быть лучше без него – JamieD77
По-прежнему слишком медленно ... –