目前,我有一个拥有大约 600 名活跃会员的网站。我需要每周为每个人保留一份“历史”。
所以每周我为每个用户存储 11 行,这样表中就已经有 30,000 多行了。
我正在考虑用这 11 条记录序列化一个 php 数组并将它们保存在一行中,以加快搜索速度并节省空间。
不知道这是否是好的做法,我看到例如 Wordpress 使用这种方法。
目前,我有一个拥有大约 600 名活跃会员的网站。我需要每周为每个人保留一份“历史”。
所以每周我为每个用户存储 11 行,这样表中就已经有 30,000 多行了。
我正在考虑用这 11 条记录序列化一个 php 数组并将它们保存在一行中,以加快搜索速度并节省空间。
不知道这是否是好的做法,我看到例如 Wordpress 使用这种方法。
将序列化数据存储在数据库中很好,但是您无法使用 SQL 逻辑对该序列化数据的单个记录或字段执行任何操作。
基本上,它变成了一个“黑匣子”,或者换句话说,SQL 无法处理的不可简化的数据块,除了将整个块返回给应用程序。即任何读取都读取整个blob,并且任何更新都必须替换整个blob。
这不一定是一件坏事——这取决于你如何使用这些数据。如果您的应用程序每次访问它时读取或写入整个 blob 是正常的,并且您不需要在 SQL 表达式中引用它的各个字段,那么您不妨序列化数据。
存储序列化数据的困难在于发生奇怪事件并且需要任意数据提取时。您将需要一个可以处理该数据的 php 脚本/应用程序。
JSON 编码的字符串更容易处理,因为您实际上可以在浏览器的 javascript 提示符中对其进行解码。