Mik*_*son 0 sql-server azure-sql-database
我正在重构数据库。有一个过程在两个表中的一个中插入一行,并且 id 需要在两个表中是唯一的。
目前,应用层会遍历预定的键数组。
我正在考虑 aSequence生成下一个 id,与 a 相关联SELECT MAX(id) + 1。
Sequence
SELECT MAX(id) + 1
使用 Sequence 是否可以实现任何性能提升?
Rem*_*anu 5
SELECT MAX(id)+1;不正确,即使在轻度并发下也无法工作,因为多个进程会找到相同的 MAX,然后尝试插入相同的下一个值。
SELECT MAX(id)+1;
一个序列是正确的,所以从定义好,但不一定是最好的。它应该用作列上的 DEFAULT 约束。
到目前为止,最简单的解决方案是简单地使用IDENTITY列。
归档时间:
8 年,4 月 前
查看次数:
73 次
最近记录: