У нас есть таблица базы данных mySQL для products
. Мы используем уровень кэша, чтобы уменьшить нагрузку на базу данных, но мы считаем, что было бы неплохо минимизировать фактические данные, необходимые для хранения на уровне кэша, чтобы еще больше ускорить работу приложения.
Все товары в базе данных, которые видны посетителям, имеют прикрепленную цену:
Цены хранятся в другой таблице, которая называется prices
. Существует несколько ценовых категорий в зависимости от того, к какому уровню скидки относится каждый посетитель (клиент). Время от времени проводятся кампании, что означает, что для каждого продукта доступна специальная цена. Специальные цены хранятся в таблице под названием specials
.
- Разве плохо создавать временную таблицу, которая связывает таблицы вместе?
Он будет иметь только необходимую информацию и, конечно, будет кэшироваться.
-------------|-------------|------------
| productId | hasPrice | hasSpecial
-------------|-------------|------------
1 | 1 | 0
2 | 1 | 1
Сделав это, было бы очень легко узнать, действительно ли конкретный продукт имеет цену, без необходимости перебирать полную таблицу prices
или specials
каждый раз, когда продукт должен быть указан или представлен.
- Являются ли временные таблицы обычным явлением для веб-приложений или это просто плохой дизайн?