我在考慮使用JSON數據類型在MySQL 5.7或更高版本中保存歷史數據價格而不是按歷史價格添加新行的可能解決方案。用於存儲歷史價格的MySQL JSON數據類型
案例描述: 我有一張產品當前價格表和產品說明稱爲「產品」。產品價格可幾天後的變化,我想用JSON數組來保存歷史價格變動:
JSON基礎結構:
PriceChangeDate (date)
PriceChanged (float)
PromoType (tinyint)
PromoDesc (nvarchar(50))
的想法是歷史數據保存到稱爲分離表「HistoricalProductPrices」,包含ProductID(與「Products」表的關係),DateCreated和一個JSON數據類型,用於描述字段的ProductID歷史價格。
在某些情況下,我需要一個產品的整個歷史數據,所以我將只取整JSON和顯示報表。有時我需要一個具體的日期或產品歷史價格範圍,所以我想我只會從JSON中獲取歷史數據並尋找神化的「PriceChangeDate」。 這也將使我可以節省大量的日常插入,相反,我需要使用新的產品數據更新JSON。
你們認爲這個方法來保存歷史數據呢?
不,我不明白你爲什麼這樣做。只是存儲日期和價格有什麼不對? – Strawberry
我說的是價格每天都會變化的情況,我需要用變更日期來保存歷史價格。 – Dror
爲什麼一定是json。你可以試試5.7。我不會。主要是因爲我確信它不會擴展,也不太可調。但是去做吧。 – Drew