+ -
当前位置:首页 → 问答吧 → 高并发优化Sql代码

高并发优化Sql代码

时间:2011-11-18

来源:互联网

大约意思是这样的,我有一个库存表存一些券类信息,我需要根据用户买了多少张券,去更新这些券表示使用,如下代码
update top (变量) table1 with(updlock) set IsUsed = 1,OrderId=变量 where IsUsed = 0 and CommodityId=变量
IsUsed,OrderId,CommodityId 都有索引

再根据更新OrderId去获取券
insert into table2 select * from table1 where OrderId= 变量

由于需要防止更新时发生并发,所以加了updlock,但是这样的效率不高tps(每秒事务数)上不去

请各位大侠给个能提高tps(每秒事务数)的解决方案

作者: XaresX   发布时间: 2011-11-18

都加锁了 木有什么好办法

作者: fredrickhu   发布时间: 2011-11-18

table1 加个触发器?

作者: ssp2009   发布时间: 2011-11-18

不加 top(变量) 试试?

作者: qianjin036a   发布时间: 2011-11-18

或者,用触发器代替后面的一句.

作者: qianjin036a   发布时间: 2011-11-18

想实现这种功能,有没有其他的实现方式,就是用户购买后发给券给别人,卷有规则,不能重复。

作者: XaresX   发布时间: 2011-11-18