Php 存储连续变化值的数据库结构

Php 存储连续变化值的数据库结构,php,mysql,sql,database,Php,Mysql,Sql,Database,语言:php,数据库:mysql 我正在制作一个模拟股票网站,所以我必须保存特定公司不断变化的价值观。现在我使用cronjob每小时运行一个脚本来获取当前值并将其保存到数据库中 我的问题是,我应该如何构建存储这些值的数据库结构 关注点:如果站点运行一年,一家公司将生成8544个值(365*24) 把它放在一个用逗号分隔的文本字段中可以吗(23,56,34,65…) 我目前的结构是 id |名称|当前|值|更改 id |名称|当前|值|更改 应该是一个可缝合的结构。 将您的id设为主索引并自动递增

语言:php,数据库:mysql

我正在制作一个模拟股票网站,所以我必须保存特定公司不断变化的价值观。现在我使用cronjob每小时运行一个脚本来获取当前值并将其保存到数据库中

我的问题是,我应该如何构建存储这些值的数据库结构

关注点:如果站点运行一年,一家公司将生成8544个值(365*24)

把它放在一个用逗号分隔的文本字段中可以吗(23,56,34,65…)

我目前的结构是 id |名称|当前|值|更改

id |名称|当前|值|更改

应该是一个可缝合的结构。 将您的id设为主索引并自动递增,然后您就可以按id描述的顺序获得正确的顺序


另一个解决方案是如上所述添加时间戳字段。这应该与添加的功能具有相同的功能,您可以在以后查看该值生成的确切时间

不要在逗号分隔的列表中存储任何内容。这是一种可怕的做法。只需添加插入行的时间戳,每次添加一个新行即可。然后,您可以在降序时选择按顺序排列的最上面一行。数据库可以处理数百万行,我怀疑8544行会导致问题。如果它真的成为一个问题,那就做一个新的表格,把旧的年份存档。如果你用逗号把事情分开,你就是愚蠢的。这并不是故意的侮辱,只是使用逗号分隔的值将内容存储到关系数据库中是缺乏智能的明显迹象。将所有内容存储在一行中,而不是将每个值存储为新记录。将其存储为新记录可以使用数据库查询并生成结果。这与将每个数组元素粘贴到单个索引中,而不是粘贴到其自己的索引中是一样的。还有,你接受的答案是错的。正确的解决方案是@JonathanKuhn所写的。首先,哎哟,其次,@JonathanKuhn和我选择的答案都在说同样的话。read againI认为NB的要点是可以使用自动增量id,但最好使用时间戳列,并且不会增加太多(如果有的话)开销。选定的答案也这么说,但主要是建议只使用自动增量id。@JonathanKuhn hey只是一个小小的疑问,新的变化导致一年内在一个表中创建245480个值。。Okayaly changes以逗号分隔的形式存储对特定公司的所有更改,但我明白你的意思。谢谢你的帮助。