Спасибо за отклик, с такого решения я и начал, но к сожалению оно очень медленное.
Сейчас как раз используется union. Запрос достаточно большой, убрал лишнее из запроса и примерно так:
SELECT *
FROM `items`
LEFT OUTER JOIN
(SELECT `item_id` FROM(
(SELECT `item_id` FROM `out_items` GROUP BY `item_id`)
UNION
(SELECT `item_id` FROM `in_items` GROUP BY `item_id`)
) `a`
GROUP BY `a`.`item_id`) `cc` ON(`items`.`id`=`cc`.`item_id`)
WHERE
`cc`.`item_id` IS NOT NULL
но все равно запрос отрабатывает за 0.5 -0.6 секунд. В основной таблице 200 тыс записей. В тех, где проверяется наличие совпадений 10-20 тыс. Может есть какие-то еще варианты оптимизировать запрос?
Сейчас как раз используется union. Запрос достаточно большой, убрал лишнее из запроса и примерно так:
SELECT *
FROM `items`
LEFT OUTER JOIN
(SELECT `item_id` FROM(
(SELECT `item_id` FROM `out_items` GROUP BY `item_id`)
UNION
(SELECT `item_id` FROM `in_items` GROUP BY `item_id`)
) `a`
GROUP BY `a`.`item_id`) `cc` ON(`items`.`id`=`cc`.`item_id`)
WHERE
`cc`.`item_id` IS NOT NULL
но все равно запрос отрабатывает за 0.5 -0.6 секунд. В основной таблице 200 тыс записей. В тех, где проверяется наличие совпадений 10-20 тыс. Может есть какие-то еще варианты оптимизировать запрос?