2014-10-20 55 views
0

我正在制作一个模拟股票网站,所以我必须保存一个特定公司加班的变化值。现在即时通讯使用cron作业每小时运行一个脚本以获取当前值并将其保存到数据库。用于存储连续变化值的数据库结构

我的问题如何让我做数据库的结构来存储这些值。

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

是它没关系把它放在一个文本字段用英文逗号分隔(23,56,34,65 .....)

我目前的结构是 ID |名称| current_value |变化

+3

不要在逗号分隔列表中存储任何内容。这是一个可怕的做法。只需添加行插入的时间戳并每次添加一行。然后,您可以选择按降序排列的第一行。数据库可以处理数百万行,我怀疑8544行会导致问题。如果它确实成为问题,则创建一个新表格并存档旧年。 – 2014-10-20 18:29:30

+1

如果你用逗号分隔事物,你就是按照定义 - 愚蠢的。没有侮辱意图,只是使用逗号分隔值将关系数据库存储到关系数据库中是缺乏智力的明显标志。将所有内容存储在一行中,而不是将每个值存储为新记录。将它存储为新记录可让您使用数据库**查询**并生成**结果**。这与将每个数组元素粘贴到单个索引中,而不是放入其自己的索引中一样。另外,你接受的答案 - 这是错误的。正确的解决方案是@JonathanKuhn写的。 – 2014-10-20 19:49:10

+0

第一个ouch,第二个@JonathanKuhn和我选择的答案都说同样的事情再读 – deepakgates 2014-10-20 20:15:01

回答

2

id |名称| current_value |变化

应该是一个可以修改的结构。 使您的ID成为主索引并自动递增,然后通过按顺序排序来获得正确的顺序。

另一种解决方案是添加一个时间戳字段,如上所述。这应该与您稍后可以看到的附加功能具有相同的功能。完全是该值生成的时间!

+0

实际更改以逗号分隔的形式存储对该特定公司的所有更改,但我明白了您的意思。谢谢你的帮助。 – deepakgates 2014-10-20 18:39:54