У меня следующий запрос (имена были изменены), и он очень медленный. Я не знаю, если это так медленно, потому что это может быть написано лучше или потому что мне не хватает индексов. Кроме того, как мне создавать индексы, так как большинство объединений находятся на мнимых таблицах?
select y.radish, g.enton
from great g
inner join(
select sr.radish, sr.greatReferenceID
from spaceRadish sr
inner join(
select s.id
from super s
inner join experiments e
on s.CID = e.analysis) x
on sr.springID = x.id) y
on g.id = y.greatReferenceID
Выход из выбора объяснения:
'1', 'PRIMARY', '<derived2>', 'ALL', NULL, NULL, NULL, NULL, '14085960', ''
'1', 'PRIMARY', 'g', 'eq_ref', 'PRIMARY', 'PRIMARY', '4', 'y.greatReferenceID', '1', ''
'2', 'DERIVED', '<derived3>', 'ALL', NULL, NULL, NULL, NULL, '287', ''
'2', 'DERIVED', 'sr', 'ref', 'springID', 'springID', '4', 'x.id', '831666', ''
'3', 'DERIVED', 'e', 'ALL', NULL, NULL, NULL, NULL, '3271', ''
'3', 'DERIVED', 's', 'ref', 'CID,CID_2', 'CID', '767', 'cpp.e.analysis', '16', 'Using where; Using index'