По сути, мой вопрос таков: у меня есть список цен, некоторые из которых являются историческими (то есть я хочу, чтобы поиск этого продукта X составлял 0,99 долл. 11 марта, 1,99 долл. 1 апреля и т. Д.) , Каков наилучший способ хранения этой информации?
Я предположил, что у меня, вероятно, будет таблица Product с внешним ключом для таблицы цен. Сначала я думал, что сохранение текущей цены, вероятно, будет лучшим выбором, но я думаю, что я хочу иметь возможность хранить исторические ценовые данные, поэтому лучше было бы сохранить таблицу, подобную следующей для прайс-листа:
CREATE TABLE prices (
id BIGINT auto_increment not null,
primary key (id),
price DECIMAL(4,2) not null,
effectiveStartDate DATETIME NOT NULL,
effectiveEndDate DATETIME
);
Я немного растерялся. Я хотел бы иметь возможность эффективно искать товары и видеть, как цена этого продукта менялась с течением времени. Как я могу эффективно связать набор этих цен с продуктом? Я предполагаю, что я спрашиваю: «Как лучше всего проиндексировать это, чтобы иметь возможность обеспечить эффективный поиск по запросам, которые охватывают определенный набор дат?»