我有用户设置,我想在数据库中保存。 现在的问题是,我是否应该为每个设置新行,或者将它们保存在JSON中。
最好的方式是什么,战略和习惯?
答案 0 :(得分:5)
取决于几件事:
基本上,JSON更灵活,如果您有很多设置或者您的设置列表正在快速变化,那么它就会很好。
字段是保守的,但使用它们比解压缩JSON要快。
最常用于用户设置我会在每个设置中使用一个字段。原因是它允许轻松获得具有特定设置(相同年龄,同性,同一城市等)的用户列表,还可以订购它们等等。
但您可以同时使用这两个选项。
例如,将用户名,密码,名字和基本选项作为字段。然后,您可以快速获得诸如“此用户名是否唯一?”之类的问题的答案。 “密码有效”等。 同时你可以创建一个字段“additional_options”,这个字段将是json编码的字段,用于一些不经常使用的数据,比如“关于我”和秘密问题的答案。
答案 1 :(得分:0)
JSON是一种编码对象的方法,或者只是简单地序列化数据。 如果您打算保存数据并且不经常阅读它,那么JSON听起来就像一个很好的清洁方式,以后在有更多设置时很容易升级。如果您计划大量编写和读取这些数据,那么您将需要很大的序列化和反序列化数据的开销,我不建议这样做。
答案 2 :(得分:0)
这个问题被标记为javascript,所以我假设你是从js中消费它们的。在这种情况下,并假设它们是少量的键值对,并且您可能一起读取它们(即您不是单独查询它们或比较不同用户或类似事物的值),然后存储为json是在我看来更好的选择。