gpt4 book ai didi

c# - SQL 标识增量和种子

转载 作者:行者123 更新时间:2023-11-30 13:48:51 26 4
gpt4 key购买 nike

我正在为我的数据库使用 Microsoft SQL Server

我的表中有一个 ID 列。在我的使用中,行被删除并重新创建了很多次。所以,如果我使用 SQL Server 的 Identity Increment 和 Identity Seed,一段时间后 ID 号会非常大...

每个新行都有一个比其他行大的 ID 并不重要。只是它必须是独一无二的。

如何在 SQL Server 中执行此操作?我应该禁用自动增量并手动设置 ID 吗?怎么办?

我正在使用 C# 和 SQL Server Express。

最佳答案

我不确定你为什么关心数字是大还是小(希望用户没有情感值(value)或对身份值赋予任何意义),但避免耗尽问题的一种方法是使用 BIGINT .我忘记了确切的数字,但如果你每秒生成 1000 个 ID,则需要 80 年左右的时间才能达到极限——如果你从负边界开始,你可以将这个数字加倍。是的,BIGINT 是 8 个字节而不是 4 个字节,但这仍然比 GUID 小得多且更有用。如果将它与数据压缩结合使用,在使用完 20 亿个数字之前,您不需要比 INT 多的存储空间。

不要对此进行过度设计,也不要错误地认为标识值的大小或值应该是有意义的。这是仅为内部识别和效率生成的替代值。如果您要告诉用户这个值,那就不对了。

关于c# - SQL 标识增量和种子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11189764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com