У меня есть запрос, написанный на mysql, который, как мне кажется, занимает нелепое время.Мне действительно нужно ускорить этот запрос, он занимает более 7 часов.В таблице есть 2 миллиона строк, к которым она запрашивает - history_runner_races.Я думал о множестве различных способов, которые я могу оптимизировать, я также попробовал SQL Server в случае, если это было быстрее.Я исследовал все различные типы комбинаций индексов и обнаружил, что они не имеют большого значения в течение всего времени выполнения.
Запрос
insert into smartform.historic_jockey
SELECT runners.id,
( select count(1)
FROM smartform.historic_runners_races ru
where ru.jockey_id = runners.jockey_id
and ru.race_id < runners.race_id
and ru.finish_position = 1
) jockeyWins
FROM smartform.historic_runners_races as runners ;
Я действительно в недоумении с этим.У меня есть индексы: runner_is, race_id, а затем jockey_id, race_id, finish_position.
Любые советы принимаются с благодарностью.
Лаура