gpt4 book ai didi

MySQL JSON 数据类型存储历史价格

转载 作者:行者123 更新时间:2023-11-29 11:24:50 25 4
gpt4 key购买 nike

我正在考虑可能的解决方案,使用 JSON 数据类型在 MySQL 5.7+ 中保存历史数据价格,而不是为每个历史价格添加新行。

案例描述:我有一个产品当前价格和产品描述表,称为“产品”。产品价格可能会在几天后发生变化,我想使用 JSON 数组保存历史价格变化:

JSON 基本结构:

 PriceChangeDate (date)
PriceChanged (float)
PromoType (tinyint)
PromoDesc (nvarchar(50))

这个想法是将历史数据保存到一个名为“HistoricalProductPrices”的单独表中,其中包括 ProductID、(与“Products”表的关系)、DateCreated 以及具有我描述的字段的 ProductID 历史价格的 JSON 数据类型。

在某些情况下,我需要产品的完整数据历史记录,因此我只需获取整个 JSON 并显示报告。有时我需要产品历史价格的特定日期或范围,所以我想我只会从 JSON 中获取历史数据并寻找神化的“PriceChangeDate”。这还可以让我节省大量的日常插入,而我需要使用新的产品数据更新 JSON。

你们觉得这种保存历史数据的方法怎么样?

最佳答案

你问:

What do you guys think about this method to save historical data?

恕我直言,我认为这是一个糟糕的主意。如果您使用 MySQL 或任何其他 RDMS 执行此操作,则下一个必须处理您的代码的人将会在一个看起来像您的木偶上钉钉子。说真的。

为新事件(如股票交易)或新日期添加新行是 RDMS 的工作。他们确实做得很好。

SQL 数据库的全部要点是允许快速更新、搜索和聚合许多列中的数据。 RDMS 系统可以毫不费力地存储和搜索数百万行数据。将许多记录放在一个 BLOB 中会击败所有搜索技术。

如果您确实想使用 JSON 文档进行存储,您可能需要研究 MongoDB。它具有可在某些 JSON 文档中使用的索引。

关于MySQL JSON 数据类型存储历史价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38410194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com