есть табилца аттрибутов и их значений определенного продукта
Имеем такую структуру
product_id, attribute_id, value
1, 1, Красный
1, 2, 256гб
2, 1, Зеленый
2, 2, 512гб
Мне нужно выбрать отсюда все product_id которые соответствуют нескольким атрибутам, например "где attribute_id = 1 и его значение = Красный, а так же attribute_id = 2 и его значение = зеленый
Какой самый оптимальный способ сделать это? Я вижу только идею джойнить таблицу "саму к себе".. Это нормальная практика? может есть варианты лучше?
Скажу только, что это далеко не простой запрос. Все инет-магазины с этим мучаются, где у товаров много характеристик. Когда и товаров много, обычно не используют реляционные СУБД в силу их слишком медленной работы, а используют другие вещи, типа elasticsearch или redis
Ну у меня там нет такого мега-огромного пула данных чтобы тянуть отдельную технологию под это. Просто интересно, вдруг есть вариант более подходящий, а я велосипед изобретаю
Обсуждают сегодня