-1

我正在开发一个 POST 注册系统。只需记录发送到站点的每个发布请求以及用户发布的所有内容(换句话说,$_POST 数组)。

我看到了两种方法:

正确的方法 - 有一个单独的表registerPostInfo用于发布信息,其中数组的每个元素都将作为新记录插入。

错误的方法 - 为我的表创建一个额外的列来registerPost保存json_encode()'d post 数组。

我正在寻求建议,因为尽管它可能被认为是“错误的”,但老实说,我认为第二种解决方案会更好,因为这张桌子会像疯了一样被淹没。我在本地服务器上的一个月测试期内自己制作了 2000 条记录,如果我要继续第一个解决方案,假设 post 数组中平均有 5 个元素,这意味着将有 10000表中的记录registerPostInfo。想象一下,有成千上万的人......我会很高兴获得有关我的问题的任何有用信息,可能还有我没有想到的第三种方式。

提前致谢!

4

1 回答 1

1

取决于“记录”所有发布数据的实​​际目的是什么。如果您只是希望将其作为一种日志,以便以后可以在用户发布的内容被证明是恶意或不受欢迎的情况下重建它,那么我会说将其存储为 JSON 或序列化到单个列中是完全可以的; 而如果您想在某个时候一般地处理该数据,甚至可能在其中搜索某些参数名称/值,那么您最好将其存储为单个参数名称|值记录,所有这些记录都由一个 id 捆绑在一起发出单个 POST 请求。

因此,如果主要目的实际上不是不断地处理这些数据,而只是在必要时“分析”它,我会使用序列化数据。很容易通过发布时间或用户 ID 从数据库中选择它——然后可以通过脚本完成反序列化部分。以及你的次要用途,向用户展示他们创建了什么样的内容——你应该能够从实际保存该内容的表格中获得。

于 2013-09-22T22:09:07.507 回答