Чтобы решить эту проблему, нужно выбросить MySQL и использовать колоночные СУБД, которые разработаны специально для таких задач.
Смотрите в сторону Vertica, Cassandra, HBase.
SELECT CONCAT(f.`name`, ' ', n.`name`) as 'full_name' FROM `users` u
INNER JOIN `names` n ON (u.names_id = n.id)
INNER JOIN `femelis` f ON (u.femelis_id = f.id)
WHERE u.id = 1
Создайте отдельную таблицу, в которой будут ваши фильтры храниться и таблицу связи между продуктами и фильтрами. В таком случае можно будет легко выбирать похожие товары.
product <-> product_to_specification <-> specification
При необходимости можно будет классифицировать признаки спецификаций, показывать продукты имеющие теже спецификации или наиболее похожие по параметрам.
Если же потребуется полнотекстовый поиск, то сразу смотрите в сторону sphinx.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.