Mah*_*asi 3 c# sql sql-server sql-server-2005
我正在使用Microsoft SQL Server我的数据库.
我的表中有一个ID列.在我的使用中,行被删除并重新创建多次.因此,如果我使用SQL Server的身份增量和身份种子,一段时间后ID号会非常大......
每个新行的ID都大于其他行并不重要.它必须是独一无二的.
如何在SQL Server中执行此操作?我应该禁用自动增量并手动设置ID吗?怎么样?
我正在使用C#和SQL Server Express.
我不确定你为什么关心数字是大还是小(希望用户没有感情价值或对身份价值有任何意义),但避免用尽问题的一种方法是使用BIGINT.我忘记了确切的数字,但是如果你每秒生成1000个ID就需要80年左右才能达到极限 - 如果从负边界开始,你可以加倍.是BIGINT是8个字节而不是4个字节但是它仍然比GUID小得多且可用.如果你将它与数据压缩相结合,那么在你使用了20亿个数字之后,你将不再需要任何存储而不是INT.
不要过度设计这一点,也不要误认为身份值的大小或值应该意味着什么.这是仅为内部识别和效率生成的替代值.如果你告诉用户这个价值,那就不对了.
| 归档时间: |
|
| 查看次数: |
1471 次 |
| 最近记录: |