我正在研究POST注册系统。只需记录发送到站点的每个发布请求以及用户发布的所有内容(换言之,$ _POST数组)。
我看到了两种方法:
正确的方法 - 为帖子信息设置一个单独的表registerPostInfo
,其中数组的每个元素都将作为新记录插入。
错误的方法 - 在我的registerPost
表格中创建一个额外的列,该列将保存json_encode()
'd个数组。
我正在寻求建议,因为尽管它可能被认为是“错误”但老实说我认为第二种解决方案会更好,因为这张桌子像疯了似的被淹没了。我已经在本地服务器上的一个月测试期内自己创造了2000条记录,如果我要继续第一个解决方案,假设在post数组中平均有5个元素,这意味着将有10000个registerPostInfo
表中的记录。想象一下,成千上万的人......我会很高兴能找到有关我的问题的有用信息,也可能是我没想到的第三种方式。
提前致谢!
答案 0 :(得分:1)
取决于“记录”所有发布数据的实际目的是什么。如果您只是想将此作为一种日志,以便您可以稍后重新构建用户发布的内容,如果它变成恶意或不需要的,那么我会说将其存储为JSON或序列化为单个列是完全可以的;而如果你想在某些时候处理这些数据,甚至可能在其中搜索某些参数名称/值,那么最好将它存储为单个parameter_name | value记录,所有这些记录都由id绑定在一起单个POST请求。
因此,如果主要目的不是实际使用该数据,而是仅在必要时“分析”它,那么我将使用序列化数据。很容易通过发布时间或用户ID从数据库中选择它 - 然后可以通过脚本完成反序列化部分。您的二次使用,向用户显示他们创建了什么样的内容 - 以及您应该能够从实际拥有该内容的表中获取。