什么是用于存储用户设置的有用架构?

rap*_*dko 5 php database-design laravel-5

我想存储一些用户设置,我想到了 3 个选项,因为这是我的第一个项目,我想以正确的方式启动它,我不知道哪个是执行此操作的最佳方法。

  1. 将单个设置直接存储在用户表的列中

  2. 拥有一个包含设置名称、设置值和用户 ID 列的 user_settings 表

  3. 将 JSON 字符串存储在用户表中名为“user_settings_json”的列中

在设计分析中,我注意到 WordPress 将其存储在单独的表中,但我不确定这对于每个应用程序都是必要的(因为我的应用程序没有像 wp 那样多的用户设置)

我正在使用 Laravel、PHP、javascript/jquery。

你们认为在设计、可维护性和性能方面哪一个最有用、总体更好?

Mat*_*est 4

存储 JSON 字符串?不 !

您希望能够隔离设置,只需查询您需要的内容即可。因此,请将其保存在单独的列中!

至于是否必须单独制作表格的问题,不,不必。当您刚刚获得一些简单的设置时,您只需将列添加到现有的用户表中即可。请注意此处的限制。如果您确实需要高级设置,我建议使用单独的表。最好早点做。并非每个设置都适用于每个用户。例如,当您拥有可以拥有更多设置的高级帐户时。因此,我要做的就是将其分开。

顺便说一句,如果这些列已经位于名称中包含“setting”的单独表中,我不会让这些列以“setting_”开头。

结论:选项 2 :)