哪种数据类型和长度最适合数据库中的自动递增 id 列?

Which data type and length is most suitable for an auto increment id column in database?

我正在开发一个网站并使用 SQL 服务器作为我的数据库。我每天都有很多条目,而且 id 是自动递增的。

我应该使用 INT 还是 BIGINT,或者是否有其他合适的数据类型?

如果插入少于 2,147,483,648 条记录,则为 INT,如果插入更多,则为 BIGINT

对于 INT 类型,从 1 开始,您会得到 超过 20 亿 可能的行 - 这对于绝大多数情况来说应该绰绰有余。

如果您使用从 1 开始的 INT IDENTITY,并且您每天 每一秒 每分每秒插入一行,那么您需要 66.5 年 在你达到 20 亿限制之前....

BIGINT,你得到大约 922 千万亿(922 有 15 个零 - 9'220'0000 亿)- 足够你了吗??

如果你使用从 1 开始的 BIGINT IDENTITY,并且每秒插入一千行,你需要令人难以置信的 2.92 亿年 才能达到922千万亿极限....

MSDN Books Online.

中阅读更多相关信息(包含所有选项)