У меня есть запрос, который занимает 12 секунд (в журнальной таблице 1,2 м строк), основная причина ниже
select 1
from
myTable myTable
join myJournal Journal on (Journal.status=0 and myTable.id = Journal.myTableId)
join arrival Arrival on (myTable.id = Arrival.myTableId)
join calc Calc on (myTable.id = Calculated.myTableId)
join ms ms on (Parent.id = ms.myTableId)
join perf Perf on (myTable.id = Perf.myTableId)
join ref Ref on (myTable.id = Ref.myTableId)
where
((myTable.name like 'cheese%' or
Journal.algorithm like 'cheese%' or --if this is removed, its fine <1sec
myTable.client like 'cheese%' or
myTable.something like 'cheese%'))
Однако таблица журнала работает нормально. Doing
select * from myJournal where algorithm like 'cheese%' --takes < 1 sec.
Запрос также выполняется нормально, если я удалю четыре соединения (которые не используются в предложении where).
Когда я объединяю более 3 таблиц, производительность резко / экспоненциально снижается.