关于Performance& “正确的做事方式”并试图找出哪种方式更好地将配置数据存储在SQL数据库中。假设您有网站配置数据,用于设置一个人访问该网站必须达到的最小和最大年龄。
CREATE TABLE SiteConfig
(
featureName varchar(100),
value varchar(100),
)
哪个更好:
将它们全部存储在一行中并使用explode();在PHP中处理它。
featureName:“ageRequirement”
值:“13 | 60”
要将它存储在每个功能的单独行中,只需选择所需的功能。
featureName:“minAge”
值:“13”
featureName:“maxAge”
值:“60”
由于网站功能的数量,这相当于60 ROWS的数据与大约25。
答案 0 :(得分:0)
如果这些是你永远不会在数据库中使用的值,那么它们都可以工作。
如果您怀疑自己想要使用数据库中的值,则不希望它们具有相同的值。这将使查询数据变得复杂和低效。
答案 1 :(得分:0)
存储它有两个独立的功能。
您可能希望访问数据库中的功能,而不是应用程序代码中的功能。
没有理由解析逗号分隔的字符串以获得两个功能。
不可否认,在用逗号分隔的两个数字的情况下,没有太多可能出错。然而,这是一个滑坡,您可能很快就会发现自己试图将多个字段填充到一个字符串中,然后投入大量资源来解析字符串。