database - 您如何在数据库中构造配置数据?

标签 database language-agnostic configuration

人们在数据库中存储应用程序配置数据的首选方法是什么。从我自己过去做过这件事开始,我使用了两种方法。

  1. 您可以创建一个表来存储键/值对,其中键是配置选项的名称,值是它的值。优点是添加新值很容易,您可以使用相同的例程来设置/获取数据。缺点是您将未类型化的数据作为值。
  2. 或者,您可以对配置表进行硬编码,每一列都是值的名称及其数据类型。这样做的缺点是需要更多维护设置新值,但它允许您输入数据。

两者都使用过后,我更喜欢第一个选项,因为它设置起来更快,但风险也更高,并且在查找数据时会(略微)降低性能。有没有人有任何替代方法?

更新

有必要将信息存储在数据库中,因为如下所述,可能有多个程序实例需要以相同的方式配置,并且存储过程可能使用相同的值。

最佳答案

您可以扩展选项 1 以拥有第三列,给出数据类型。然后,您的应用程序可以使用此数据类型列来转换值。

但是,是的,如果配置文件不是一个选项,我会选择选项 1。选项 1 的另一个优点是您可以非常轻松地将其读入 Dictionary 对象(或等效对象)以便在您的应用程序中使用。

关于database - 您如何在数据库中构造配置数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/240428/

相关文章:

sql - 索引是否改进了所有类型的查询?

algorithm - 单词模式查找器

asp.net - 如何保存运行配置 - Visual Studio Mac

configuration - Kohana 配置文件在哪里?

database - Flutter:如何为我们要上传到Firebase数据库的每个元素设置数据类型?

c# - 将多个 Api 调用建模为 1 个对象(数据结构)

sql - JOIN 三张表

language-agnostic - 代码可以持续多长时间?

algorithm - 线性时间投票算法。我不明白

适用于 Android 的 Python (p4a) : How to pass arguments in a . p4a 文件