您是否认为将各种用户数据作为序列化二进制文件存储在数据库中是不好的做法?这是个好主意,坏事还是丑陋的主意?

我谈论的是几乎任意的事情,例如表单上的最后一个分隔符距离,搜索文本框中的最后一个值,预先选择的复选框索引等等。如果忘记了,应该记住的事情并不重要。

我有点喜欢它,因为那时我只需要一个包含四列的表:userid,source,key和value。而且,如果我创建了一个不错的包装器类来将值保存和加载到该表中,则可以很好地工作。例如,只要有一种新的设置出现,我就不必修复数据库。

当然,它不适用于搜索和排序以及类似的操作,但是由于您只需要直接从它们的索引(用户ID +源+键)访问这些键值对,因此就完全不需要。这些列也不是人类可读的,但是那也不是真正的问题。数据将是可以清除而没有很多问题的数据。

对这个想法有任何意见吗?这是可怕的吗?这是一个好人吗?你做了类似的事情吗?

最佳答案

由于您不进行搜索,因此这不是一个坏主意-它是不透明的容器,用于存储杂乱的用户数据,并且正如您所说的,它不包含任何关键信息。没错,您无需更改数据库即可支持新的设置配置。

10-04 12:09
查看更多