【问题标题】:Auto Increment vs Normal Integer for Primary Key主键的自动增量与普通整数
【发布时间】:2013-09-10 17:39:12
【问题描述】:

我必须为我尝试为 Web 应用程序构建的表定义一个整数主键。我可以将其定义为普通整数或使其成为自动增量。两者都适用于我的表,我知道 autoIncrement 为我省去了显式设置值的麻烦。

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

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

【问题讨论】:

  • 说明您正在使用的 DBMS 可能很有用。
  • 将使用 MySql !!

标签: primary-key guid rdbms database


【解决方案1】:

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

另一个考虑因素是性能:数据库引擎生成自动递增键的速度比用户级代码生成唯一键的速度要快得多。

好处是你可以让键更难预测。这是否真的给你带来了任何东西,还有待商榷。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-14
    • 2012-03-13
    • 2013-06-07
    • 2011-07-06
    • 2023-03-03
    • 2016-08-08
    • 2018-12-10
    相关资源
    最近更新 更多