我有不同的產品,我想存儲的價格爲每一種取決於具體的日期... 例如,如何創建一個MySQL數據庫存儲日期 - 價格
product 1 - from 01/01/2017 to 31/03/2017 price 30
product 1 - from 01/02/2017 to 28/02/2017 price 20
product 1 - from 02/02/2017 to 10/02/2017 price 10
然後產品1從31/01/2017年至2017年2月2日費用爲60
現在我創建這樣
id_product - price - date
1 - 30 - 01/01/2017
...
1 - 30 - 31/01/2017
1 - 20 - 01/02/2017
1 - 10 - 02/02/2017
...
然後這個商品的 「簡單」 的dB具有90行,365爲每年 - >每個產品...
而這種隨時間緩慢分貝過濾...
如何優化數據庫結構?
爲什麼有兩個價格範圍2月2日至10日? – Strawberry
對我來說很好。雖然您只需要存儲範圍開始(如果存在重疊,則範圍開始和範圍結束)。如果沒有重疊,那麼你應該在(id_product,date)上有一個索引,並且任何一種方式的日期顯然都應該是日期數據類型。你通常不會爲每一天存儲一個值 - 但是重疊會使事情複雜化 - 部分原因是因爲突然不清楚你的PRIMARY KEY可能是什麼。 – Strawberry
這是一個非常小的桌子。每個產品每年只有40,000行?這不會減慢過濾*提供*您有適當的索引。沒有索引,即使是100行表格也會很慢 –