主键的自动递增与正常整数

时间:2013-09-10 17:39:13

标签: primary-key guid rdbms database

我必须为我正在尝试为Web应用程序构建的表定义一个整数主键。我可以将它定义为普通整数或使其成为autoIncrement。我的表都可以,我知道autoIncrement可以省去显式设置值的麻烦。

但是,除此之外还有什么优点吗?或者使用正常整数有什么缺点?出于某种原因,我倾向于使用正常整数,因为这些值可以是随机的,很难预测(用于webapp)。但我担心如果这会在查询表时导致性能问题。

PS:这个问题与整数与GUID无关。 Just AutoIncrement vs Normal Int。

1 个答案:

答案 0 :(得分:0)

如果使用普通的整数键,则承担生成唯一键的负担。如果有多个线程/进程向表中添加记录,这是非常重要的。

另一个考虑因素是性能:数据库引擎可以比用户级代码提供唯一密钥更快地生成自动递增的密钥。

好处是你可以让密钥难以预测。这实际上是否能给你买任何东西都是值得商榷的。