什么是自增列
在SQL Server中可以将Id列设为自增。即无需为Id指定值,由SQL Server自动给该列赋值,每新增一列Id的值加一,初始值为1。
需要注意的是即使将原先添加的所有数据都删除,然后新增数据。此时记录的Id依然不会从1开始,而是原先的最大值加1。
自增列的取值范围
一般在定义自增列时,都会指定其数据类型为int类型。而且也只有int类型及其相关数据类型的列可以指定为自增列。
下面是自增列可以使用的数据类型:
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类型的取值最大就可为21亿多,在常规应用中这已经足够了。
但是,如果真的在一张表中插入几亿的数据,可能效率就比较差了。 => 所以有人提出用分区表解决此类问题。