mysql – 在数据库中存储数组是否可接受?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 在数据库中存储数组是否可接受?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1422字,纯文字阅读大概需要3分钟。
内容图文
![mysql – 在数据库中存储数组是否可接受?](/upload/InfoBanner/zyjiaocheng/902/22311282129646c080119b5b3df0a26e.jpg)
我一直在开发一个应用程序,我遇到了一个我想拍摄当前数据快照的情况.
例如,在此应用程序中,用户将具有不同的统计数据并能够输入匹配项.他们在比赛中的位置取决于他们的统计数据.当确定匹配时,应用程序将提取用户当前的所有统计数据并确定他们的分数以查看谁获胜.
现在比赛结束后,我希望用户能够查看过去的比赛,当我想要显示比赛时参赛者点数时,问题就出现了.我认为存储一个像这样结构的数组是可以接受的:
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";}
解决方法:
如果你真的致力于你在问题中概述的用例以及你对Sean Johnson的评论中的资格,那么我认为你的方法没有任何问题.
如果你认为你有可能想要挖掘历史信息,那么我仍然可以通过建议你对数据进行规范化,但是将数组作为长期存在的(相对来说)缓存可能会将数据转储到数据库中.感.换句话说,以两种格式存储它,但是您概述的用例的主线只会达到数组格式,但如果您需要,您仍然可以使用可查询的形式获取数据.
内容总结
以上是互联网集市为您收集整理的mysql – 在数据库中存储数组是否可接受?全部内容,希望文章能够帮你解决mysql – 在数据库中存储数组是否可接受?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。