我一直在开发一个应用程序,我遇到了一个我想拍摄当前数据快照的情况.
例如,在此应用程序中,用户将具有不同的统计数据并能够输入匹配项.他们在比赛中的位置取决于他们的统计数据.当确定匹配时,应用程序将提取用户当前的所有统计数据并确定他们的分数以查看谁获胜.
现在比赛结束后,我希望用户能够查看过去的比赛,当我想要显示比赛时参赛者点数时,问题就出现了.我认为存储一个像这样结构的数组是可以接受的:
array(
array(username, points),
array(username, points),
etc.
)
现在规范化数据可能是最佳做法,但在这种情况下:
>比赛中可以有2到25名参赛者.
>数据永远不会更新,只能读取.
>我认为在数据库中的数组结构中使用它将节省我在后端代码中构建数组的时间.
>编辑:数据不是永久性的.比赛记录将在比赛结束后7天删除.
谁能告诉我这个解决方案是否会提供任何问题?
编辑
我会在序列化数组后保存数据,所以在我的数据库中我会有一个名为’matches’的表,它会有一个名为’results’的列.
此列的行将包含序列化数组.所以如果数组看起来如此:
$array["a"] = "Foo";
$array["b"] = "Bar";
$array["c"] = "Baz";
$array["d"] = "Wom";
然后数据库中的行将如下所示:
a:4:{s:1:"a";s:3:"Foo";s:1:"b";s:3:"Bar";s:1:"c";s:3:"Baz";s:1:"d";s:3:"Wom";}