0

我在数据库中有几个表,其中自动增量 ID 字段设置为整数值。记录将每秒添加到这些表中。当我用完整数值时会发生什么?这会导致问题吗?关于如何处理快速增长的表的自动增量值的任何建议?

4

2 回答 2

2

使用 type INT,从 1 开始,您可以获得超过 20 亿行可能的行——这对于绝大多数情况来说应该绰绰有余。有了BIGINT,你得到大约922 万亿(922 有 15 个零 - 922'0000 亿) - 对你来说足够了吗?

如果您使用INT IDENTITY从 1 开始的数据,并且每秒插入一行,那么您需要66.5 年才能达到 20 亿的限制......

如果您使用BIGINT IDENTITY从 1 开始的 a,并且每秒插入 1000 行,那么在达到 922 万亿极限之前,您需要令人难以置信的2.92 亿年......

在MSDN 联机丛书中阅读有关它的更多信息(包括所有选项)。

于 2013-03-20T12:56:02.547 回答
1

这是很多行。从文档

从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整数(整数)数据。存储大小为 4 个字节。int 的 SQL-92 同义词是整数。

您是否考虑过使用 GUID 作为主键

于 2013-03-20T11:15:21.697 回答