Таблицы нужно проектировать так, чтобы данные одной сущности не были "размазаны" по разным таблицам.
И лучше несколько длинных таблиц, чем одна широкая. Но при этом, чтобы как можно меньше была необходимость в JOIN.
Рейтинг товаров лучше отделить от товаров, поскольку относительно часто изменяется.
Без структуры таблиц и каких запросов нельзя дать конкретных советов.