Есть три таблицы
app_entity_49 - данные
app_entity_55 - данные
app_related_items - таблица для связей
Сам запрос
Код: Выделить всё
select
((select SUM(func.field_538*func.field_534) from app_entity_49 func where func.id>0 and (
func.id in (select ri.related_items_id as related_items_id from app_related_items ri where (ri.entities_id = '55' and ri.items_id = e.id and ri.related_entities_id='49'))
or
func.id in (select ri.items_id as related_items_id from app_related_items ri where (ri.related_entities_id='55' and ri.related_items_id=e.id and ri.entities_id = '49')))
)
) as field_653
from app_entity_55 eвыборка из app_related_items очень замедляет запрос
прикрепил скриншот explain и sql файл с данными, можно попробовать у себя
подскажите, пожалуйста, что делаю не так и есть ли возможность ускорить запрос в таком виде?