2012-12-13 143 views
1

我正在创建一个非常简单的网站,您可以在其中注册锻炼,以便其他人可以看到它并发表评论。在Mysql上存储大量表单信息的最佳方式是什么?

问题是,例如,如果你每周训练6天,并做10个练习,我将不得不在Mysql上存储60个练习。

我正在考虑创建一个60行的表格,然后我将所有的信息存储在那里,但由于某种原因,这似乎并不是最好的方式。

那我该怎么办?我在Stack Overflow看这里,我看到了一些关于使用数组来存储和使用PHP序列化的内容,但我并不确定。

+3

您是否曾计划向除您以外的用户提供网站?如果是这样,它将会超过60条记录,而MySQL则是要走的路。而不是阅读StackOverflow,阅读PHP教程。 StackOverflow不是一个。 –

+0

同意其他评论。此外,如果您将其存储在自己的行中,则可以创建更多搜索和报告选项。否则,如果您将所有数据序列化为单个字段,那么您只能存储10行,但不能真正搜索或索引数据。 – Twisty

+0

如果它是微不足道的而且非常小,那么我会使用一个简单的json文件以json格式存储数据。 – elclanrs

回答

4

在担心这类问题之前,您应该考虑数据库是什么。 mysql处理数百万个条目是很常见的。在正常情况下你不可能超过这个。如果您确实获得了大量流量,并且您的数据库增长到了扩展和升级有意义的地步,那么您可以参考。现在,MySQL将成为你的冠军。

序列化有它的用处,但是当你想单独检查结果时,你会想要使用关系设计。这样,您可以将每一点信息存储在特定的锻炼会话中,并为用户提供更好的统计信息。毕竟,统计是上瘾的。本网站上的许多用户不断回来构建统计信息。

我读到你的问题的方式是,你认为单独存储60次锻炼是很多数据。你有一个包含很多字段的表单,并且你想知道如何将这些字段以一种合理的方式存储在数据库中。不只是为了你,而是为了任何进入和注册的人。对于任何数据库来说,这仍然是一个相对较小的任务。关系设计绝对是两种方式之一。

+0

谢谢Kai,这正是我要做的! –

2

您应该首先从逻辑上决定要存储什么,而不是如何存储它们。

一旦你知道要存储什么,那么你应该规范化数据以删除冗余数据。这通常通过将数据转换为3nf来完成。请参阅http://en.m.wikipedia.org/wiki/Database_normalization

通过这种方式,您可以确保捕获所有需要的数据。

1

我建议你在任何情况下使用数据库aimply,因为你是“存储”数据。 Array serializzation并不是真的存储数据,它更多的是存储一段过程以备后用。

随着数据库你可以做更多的事情,你现在可能没有幻想,但如果有一天你会有一个新的计划,使用你收集的数据,你将有更多的扩展空间。

相关问题