在sql Server中创建新数据库时,应该使用主键作为int32还是int64?
int32更快吗?
我认为我不想与int32一起去的原因是:int32数据类型的上限不会将特定表上的总交易限制为2,147,483,647?我没有意图在那里存储太多的数据,但是如果我不断需要创建新的记录,然后删除其他陈旧的数据怎么办?很多交易以后,我不会用尽钥匙?有没有办法照顾这个?或者我应该使用长数据类型.
解决方法
使用INT(int32)类型,从1开始,您可以获得超过20亿个可能的行 – 这在绝大多数情况下应该是足够的.使用BIGINT(int64),您可以获得大约9个Quintillion(9个,18个零 – 9223000亿) – 足够你吗?
只需几个快速计算:
>如果您使用从1开始的INT IDENTITY,并且每秒插入一行,则需要66.5年才能达到20亿的限制.
>如果您使用从1开始的BIGINT IDENTITY,并且您每秒插入一千行,则在达到9.22 quintillion限制之前,您需要一个2.9亿年的想法.
在MSDN Books Online中阅读更多(有所有选项).