在数据库中存储应用程序配置数据的首选方法是什么?从我过go 做过这件事开始,我使用了两种方法来做这件事.

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

在使用了这两个选项之后,我更喜欢第一个选项,因为它设置起来更快,但是它的风险也更大,在查找数据时可能会(略微)降低性能.有没有人有其他办法?

Update

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

推荐答案

您可以展开选项1以拥有第3列,给出一种数据类型.然后,您的应用程序可以使用此数据类型列来转换值.

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

Database相关问答推荐

获取总和列的比率

如何在 N1QL 查询(Couchbase 查询)中使用 LENGTH() 字符串函数

如何使用actors进行数据库访问和DDD?

管理数据库中的产品计数

Symfony2:spl_object_hash() expects parameter 1 to be object, string given in Doctrine

PostgreSQL 是否对只读事务进行了一些性能优化

NoSql DB 和 OO Db 有什么区别?

返回 DataSet/DataTable 的 PowerShell 函数中的奇怪行为

用于获取存储在单个表中的 n 级父子关系的 Postgresql 查询

审计表:一个表或一个表的每个字段

如何将mysql的默认端口从3306更改为3360

使用默认路径中的文件创建数据库

Python中准备好的语句和参数化查询之间的混淆

复式记账的关系数据模型

数据库与平面文本文件:当性能不是问题时, Select 一个而不是另一个的一些技术原因是什么?

Django:检测数据库后端

每个开发人员一个数据库?

与内连接相反

美国城市和州的列表/数据库

数据库索引及其 Big-O 表示法