У меня большой набор данных, и мне нужна помощь, чтобы ускорить несколько запросов.
До сих пор я использую подзапрос для получения идентификаторов продуктов и получения разных лиц этих продуктов (что-то вроде фильтрации)
Вот мой запрос
SELECT assoc.*, count(assoc.product_id) as count FROM ws_products_persons_assoc as assoc
WHERE
assoc.product_id
IN
( SELECT c.id
FROM ws_products as c
WHERE c.status = '1'
AND ( ( product_name LIKE '%960%' ) OR ( ( code LIKE '%960%' OR isbn13 LIKE '%960%' OR parent_codes LIKE '%960%') ) OR ( publisher_name LIKE '%960%' ) OR ( author_name LIKE '%960%' ) )
ORDER BY c.year desc,c.product_name ASC
)
GROUP BY assoc.person_id
ORDER BY count DESC LIMIT 0,30
Query Time =1.7937450408936 seconds
Поиск в подзапросе по нескольким полям по заданному ключевому слову
Подзапрос возвращает 183473 строки и занимает 1,7 секунды.
Любые идеи для ускорения подзапроса приветствуются
Спасибо