новый день - новая бессмысленная тема
значит, так: сейчас не нулевые, никто не делает магазинчики с нуля, если у магазина меньше пары тысяч единиц товара - это shopify/tilda или в худшем случае коробка, и в структуру базы лезть нельзя,
если это работающий легаси - по структуре базы все решено лет 10 назад,
если магазин растет, реально требует доработок, и на это есть деньги - значит, там есть и разработчик, который знает что делать в конкретной ситуации, если его нет - его надо нанимать, а если нет денег - он не растет, нечего маяться дурью
eav - хорошее решение, и json с отдельным поиском - тоже неплохое решение, и комбинация колонок с json тоже отлично работает, но вы реально маетесь дурью