我有以下SQL语句,它根据'条件'插入或更新TableX中的单行
IF (Condition = True)
begin
Update TableX
end
Else
begin
Insert Into Tablex
End
此查询在SSMS中执行时工作正常。但作为性能测试的一部分,100个并发用户正在执行相同的查询以及从“TableX”中提取数据的其他一些“SELECT”查询。在这种情况下,平均执行时间增加了10倍。
我在选择查询中尝试了'NOLOCK',在更新语句中尝试了'ROWLOCK'但没有运气。有人建议删除在'Tablex'上创建的聚集索引。但是我们负担不起,因为它会减慢SELECT查询的速度。
我的问题是在这个场景中我必须考虑哪些其他优化技术来加速查询?