Есть запрос на MySQL БД, который отрабатывает 2.5 часа, хотя сама итоговая таблица pc
в left join
отрабатывает за несколько секунд:
select m.*, pc.*
from main_table m
left join ...
left join ...
left join (select pc.client_id,
pc.strategy_1 as pre_strategy_1,
pc.strategy_2 as pre_strategy_2,
pc.strategy_2_system as pre_strategy_2_system,
pc.strategy_3 as pre_strategy_3,
pc.strategy_4 as pre_strategy_4,
pc.strategy_5 as pre_strategy_5,
pc.strategy_6 as pre_strategy_6,
pc.strategy_7 as pre_strategy_7
from
(select pc.client_id,
max(id) as max_id
from parameters_table pc
where (pc.status_causes like '%BlaBla%')
group by pc.client_id
) t
join parameters_table pc on t.max_id = pc.id
) pc on pc.client_id = m.client_id
При этом, если всё вынести из left join
, то отрабатывает за 2.5 минуты:
select m.*, pc.*
from main_table m
left join ...
left join ...
left join (select pc.client_id,
max(id) as max_id
from parameters_table pc
where (pc.status_causes like '%BlaBla%')
group by pc.client_id
) t
left join parameters_table pc on t.max_id = pc.id
Вопрос - почему так может быть?
Здравствуйте! Есть такой запрос к бд, который возвращает все товары:
Есть отсортированная выборка данныхИз этой выборки необходимо получить данные, которые соответствуют определенному условию (WHERE) + 5 записей...
Всем добрый день! Задумался над тем как сделать несколько БД для одного сайтаЧто бы базы синхронизировались между собой и в случае если одна...
Имеется таблица, в которой большое количество строкПримерная структура: