Fal*_*con 3 t-sql sql-server nonblocking transaction-isolation sqlperformance
我的案例场景将参数传递给一个过程,该过程仅执行插入操作。但两个线程可能会尝试传递相同的值。
如何处理这种情况而不引发异常并使用最少的锁?
我的性能要求是每秒至少 10k 插入。
编辑:列是唯一的。时间戳在插入之前可能会被更改(调整)。
小智 5
使用忽略重复键选项在表上创建索引。它不会插入重复的行,也不会出现任何错误。
例如
create unique index i1 on #tmp(id) with ignore_dup_key
insert into #tmp values(1,"A")
2> go
(1 row affected)
1> insert into #tmp values(1,"A")
2> go
Duplicate key was ignored.
(0 rows affected)
Run Code Online (Sandbox Code Playgroud)