sqlserver 自增列ID最大值是多少?如果达到最大值,系统将如何处理?
ID 是主键
[id] [int] IDENTITY (1, 1) NOT NULL
如果表中数据逐渐增多,id会不会达到最大值?
------解决方案--------------------
这个还真不知道。貌似是int类型的最大值??
------解决方案--------------------
这个跟你选择的数据类型有关
数据类型 范围 存储
- SQL code
bigint -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 8 字节 int -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 4 字节 smallint -2^15 (-32,768) 到 2^15-1 (32,767) 2 字节 tinyint 0 到 255
------解决方案--------------------
int类型的最大值为2,147,483,648
二十多亿调数据才能达到最大
设想楼主是不是想多了
------解决方案--------------------
那就int64,哦bigint
------解决方案--------------------
那就用最大的int类型。另外我觉得如果那么多记录放一个数据表,SQL SERVER的效率会低的可怕,再怎么优化也没戏。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
钻牛角尖了吧,有必要非得在一张表存储所有的数据吗?
查询的效率太低了吧,这么设计的话DBA可以回家了
------解决方案--------------------
同样性质的记录,当然应该在同一个表
否则,sql语句会麻烦很多
记录太多,分区表来解决性能问题,同时对于sql语句是没有任何影响
------解决方案--------------------
消息 8115,级别 16,状态 1,第 1 行
将 IDENTITY 转换为数据类型 int 时出现算术溢出错误。
发生算术溢出。
报这个错,插入失败。
------解决方案--------------------
十几楼了没一个正面回答问题的