MySQL запрос:
select `product_id`, count(*) as `cnt`
from `product_prop`
where `prop_id` in (1,2,3,...)
group by `product_id`
order by `cnt` desc
В таблице две колонки `product_id` и `prop_id`.
Индексы: product_id, prop_id, product_id+prop_id уникальный
В таблице 85М записей, будет больше, и если `prop_id` in (1,2,3,...) штук 20, может быть и больше, запрос выполняется 18 секунд, что прям совсем много. Если убрать сортировку, то выполняется моментально, но без неё никак. Пробовал having, но то же самое, что, как бы, и логично.