Надо ли переделывать магазин?

Попался самописный магазин одежды, простая схема (см.скрин):
один товар в одной категории, цена и остатки хранятся в таблице product_offers в зависимости от цвета и размеров, названия цвета в таблице product_colors, названия размеров в таблице product_sizes, картинки хранятся с привязкой к цвету, привязка характеристик в таблице product_props_set, названия характеристик в таблице product_props.
Товары импортируются от нескольких поставщиков, на сегодня в таблице products 18 млн строк.
Сначала появилось торможение при подсчете количества товаров (используется для разных наборов фильтрации и для формирования пагинации), индексы на все комбинации запросов созданы. Было обнаружено, что долго, до 6 секунд, происходил банальный COUNT(*). Пришлось добавить таблицу count_items, несколько полей для разных видов счетчиков (количество в категориях,количество по цветам и так далее), обновляется при каждом добавлении-удалении товара. Скорость отдачи товаров все равно явно меньше, чем при старте деятельности магазина))).
Проанализировав состав таблицы products, заметил, что большинство товаров имеют в среднем по 6 цветов, занимая 6 строк в таблице products, сами товары при этом почти не отличаются, кроме разных картинок для разных цветов. Т.е. по факту разных товаров в базе данных - не 18 млн, а 18/6 = 3млн.
Вопрос: - имеет ли смысл переделать модель хранения товаров? введите сюда описание изображения


Ответы (0 шт):