一个字符串表:添加一个 int 键,还是不添加?
Posted
技术标签:
【中文标题】一个字符串表:添加一个 int 键,还是不添加?【英文标题】:a table of strings: to add an int key, or not to add? 【发布时间】:2012-05-08 17:12:16 【问题描述】:参考以下question 的答案 1,答案指出 最好有一个带有 ID(主键)字段和字符串字段的表,而不是一个字符串字段也是主键。
简而言之,我需要存储一个包含唯一字符串的表(每个字符串在表中应该只出现一次)。我对数据库的实现了解不够,所以我希望能得到一些关于哪种方法最好的教育解释(在我的情况下)。
谢谢,
【问题讨论】:
所以这个表只有一列,字符串?或者是否还有其他列,如果有,表上是否还有其他索引? 该表仅包含字符串字段(实体框架施加的限制 - 我遇到了引用问题中描述的确切问题) 有道理,我会同意互联网工程师的意见。 【参考方案1】:如果将字符串字段作为主键,则不需要ID字段。
在性能方面,整数总是优于字符串。但在你的情况下,这并不重要。
注意:将字符串字段设为主键将确保所有值都是唯一的。
【讨论】:
【参考方案2】:如果您的主键必须是 2+ 个字段,则最好有一个 int ID 字段(特别是如果您在其他表中引用此表)。
【讨论】:
【参考方案3】:我会添加一个 int/long ID。它使引用更快、更清晰。处理也更容易,特别是如果你有很长的字符串(例如句子)。
【讨论】:
以上是关于一个字符串表:添加一个 int 键,还是不添加?的主要内容,如果未能解决你的问题,请参考以下文章