我想使用id作为我的表的主键。在每个记录中,我也存储来自其他来源的id,但这些id绝不是顺序的。
我是否应该使用" new"添加一个(自动递增的)列ID? id的查询尽可能快,这一点非常重要。
一些信息:
谢谢!
答案 0 :(得分:5)
只要您确定提供的ID是唯一的,就不需要创建另一个(代理)ID作为主键。
答案 1 :(得分:2)
在大多数情况下,现有ID的索引应该足够了。通过将其声明为主键,可以使速度稍快一些。
根据您的描述,新的ID不是性能所必需的。如果你确实添加一个,那么表格会略大一些,这会对性能产生(非常小的)负面影响。
如果现有的id
不是数字(或不是整数),那么使用更有效的索引类型可能会有一点小小的好处。但是,最好的办法是将现有的id
作为主键(尽管这可能会影响负载性能)。
注意:我通常更喜欢合成主键,因此这个答案非常适合您的问题。
答案 2 :(得分:-2)
如果您追求速度,我会将两个ID一起加入(从应用程序或存储过程中),然后将它们放在一列中