Я перечисляю свойства продукта в таблице MySQL, где каждая строка содержит идентификатор продукта prod
и идентификатор объекта prop
. Если у продукта есть три свойства, это приводит к трем строкам для этого продукта. Пример таблицы:Как найти все продукты с некоторыми свойствами?
prod | prop
-----+-----
1 | 1
2 | 1
2 | 2
2 | 3
3 | 2
3 | 4
Как найти, какие продукты имеют свойства # 1 и # 2 (продукт # 2)?
Единственный способ, о котором я могу думать, - это одно из элементов выбора и внутреннего соединения на каждое свойство, но я думаю, что это было бы очень неэффективно. Это функция поиска для веб-сайта и должна работать для 10k строк в таблице и 10 запрошенных свойств.
спасибо! – Andreas
Является ли '(prop, prod)' рекомендуемым индексом, даже если я использую альтернативу группировки? – Andreas
@Andreas: нет, тогда нужно использовать только один столб 'prod' – zerkms