基本上,我的問題是 - 我有一個價格清單,其中一些是歷史的(即我希望能夠在3月11日搜索該產品X爲0.99美元,4月1日爲1.99美元等)。什麼是存儲這些信息的最佳方式?在MySQL表中存儲歷史價格表的最佳方式是什麼?
我想我可能會有一個產品表,有一個外鍵到價格表。我最初認爲存儲當前價格可能是最好的選擇,但我認爲我希望能夠存儲歷史價格數據,那麼更好的途徑是存儲類似以下價格表的表格:
CREATE TABLE prices (
id BIGINT auto_increment not null,
primary key (id),
price DECIMAL(4,2) not null,
effectiveStartDate DATETIME NOT NULL,
effectiveEndDate DATETIME
);
我在這裏有點虧了。我希望能夠高效地搜索產品並查看產品價格隨時間變化的情況。我如何有效地將一組這些價格與產品相關聯?我想我所問的是'爲了能夠提供跨越特定日期的查詢的高效搜索,將這個索引編製成最佳方式是什麼?'
您是否真的想看到歷史價格或知道訂單時產品的價格。我看不到爲什麼我需要看到這部分是2008年的12美元,現在是17美元。 – HLGEM 2011-01-27 23:08:06
我會用product_id替換id,並考慮將主鍵設置爲product_id,price和effectivestartdate。 – 2011-01-27 23:09:28