【问题标题】:a table of strings: to add an int key, or not to add?一个字符串表:添加一个 int 键,还是不添加?
【发布时间】:2012-05-08 17:12:16
【问题描述】:

参考以下question 的答案 1,答案指出 最好有一个带有 ID(主键)字段和字符串字段的表,而不是一个字符串字段也是主键。

简而言之,我需要存储一个包含唯一字符串的表(每个字符串在表中应该只出现一次)。我对数据库的实现了解不够,所以我希望能得到一些关于哪种方法最好的教育解释(在我的情况下)。

谢谢,

【问题讨论】:

  • 所以这个表只有一列,字符串?或者是否还有其他列,如果有,表上是否还有其他索引?
  • 该表仅包含字符串字段(实体框架施加的限制 - 我遇到了引用问题中描述的确切问题)
  • 有道理,我会同意互联网工程师的意见。

标签: c# database code-first


【解决方案1】:

如果将字符串字段作为主键,则不需要ID字段。

在性能方面,整数总是优于字符串。但在你的情况下,这并不重要。

注意:将字符串字段设为主键将确保所有值都是唯一的。

【讨论】:

    【解决方案2】:

    如果您的主键必须是 2+ 个字段,则最好有一个 int ID 字段(特别是如果您在其他表中引用此表)。

    【讨论】:

      【解决方案3】:

      我会添加一个 int/long ID。它使引用更快、更清晰。处理也更容易,特别是如果你有很长的字符串(例如句子)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-05
        • 2011-07-19
        • 2020-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多