1

目前,我有一个拥有大约 600 名活跃会员的网站。我需要每周为每个人保留一份“历史”。

所以每周我为每个用户存储 11 行,这样表中就已经有 30,000 多行了。

我正在考虑用这 11 条记录序列化一个 php 数组并将它们保存在一行中,以加快搜索速度并节省空间。

不知道这是否是好的做法,我看到例如 Wordpress 使用这种方法。

4

2 回答 2

2

将序列化数据存储在数据库中很好,但是您无法使用 SQL 逻辑对该序列化数据的单个记录或字段执行任何操作。

基本上,它变成了一个“黑匣子”,或者换句话说,SQL 无法处理的不可简化的数据块,除了将整个块返回给应用程序。即任何读取都读取整个blob,并且任何更新都必须替换整个blob。

这不一定是一件坏事——这取决于你如何使用这些数据。如果您的应用程序每次访问它时读取或写入整个 blob 是正常的,并且您不需要在 SQL 表达式中引用它的各个字段,那么您不妨序列化数据。

于 2013-08-01T01:01:58.967 回答
0

存储序列化数据的困难在于发生奇怪事件并且需要任意数据提取时。您将需要一个可以处理该数据的 php 脚本/应用程序。

JSON 编码的字符串更容易处理,因为您实际上可以在浏览器的 javascript 提示符中对其进行解码。

于 2013-08-01T01:53:37.673 回答