在SQL Server 2005中实现独特计数器生成器的最佳方法是什么? 所以我在表中有一个单独的字段,其中有一个值是计数器。
我想获得当前值并且还增加1.
因此数据库将保持下一个递增的值。我已经尝试了几个select + update组合,但由于这个计数器被来自独立应用程序的各种调用非常困难(可能每分钟5000次),应用程序似乎很慢。我怎样才能得到一个更好的柜台? 我需要将值设置为serial,因此我们不能为每个应用程序提供不同的表。
我有人在这里提出建议:http://www.sqlines.com/mysql/how-to/select-update-single-statement-race-condition但不确定它是对的还是可能有其他问题。
答案 0 :(得分:0)
您是否可以使用Identity列将行插入表中?使用SCOPE_IDENTITY
检索插入的计数器值后,您就会知道以前的版本是什么。它会很快,因为它没有检查现有的行。如果您不需要存储每个请求的行,您可以偶尔清除它们。