论坛用户数较多...积分表会死锁
因为操作积分表的过程很多,各地方都用到了(论坛游戏等也用到了积分表)
alter table user_jf
(
UserId int,
jf int)
在userid上有主关键字索引
填充因子90
很多处都用到
update user_jf set jy=xxx where userid=@userid
请问怎么解决好些
因为操作积分表的过程很多,各地方都用到了(论坛游戏等也用到了积分表)
alter table user_jf
(
UserId int,
jf int)
在userid上有主关键字索引
填充因子90
很多处都用到
update user_jf set jy=xxx where userid=@userid
请问怎么解决好些
解决方案 »
- SQL SERVER2005:有列为INT类型且为自增,有问题
- SQL语句 急
- 如果批量把数据库里的多个表的varchar, char, text转成nvarchar, nchar, ntext?
- 急:如何使用SQL语句,查询出主从关系的结果集
- 请教一个复杂 的 行变列。。。,在线等待
- asp+sql2005网站 sqlservr.exe总是占用100%cpu
- 请教一个SQL的统计问题
- 还是游标 超难 刚才给份给少了 再加 100 分
- 有用字段的值作为查询条件的吗???请大家帮忙!!一百分奉上
- 如何查找一个表?
- 求SQL语句,急!!!在线等待……
- 如何判断某一行数据是否被加锁,如何知道是谁加得锁?
http://support.microsoft.com/kb/224453/zh-cn
http://support.microsoft.com/kb/271509/EN-US/
Current Activity-->Locks/ProcessID-->
看看锁定的是在执行什么语句,另外可以看到锁定processid,可以kill掉互相锁住的进程
2。执行sp_lock察看--这个我很少用一般用第一个,具体方法要看看什么时候,用户执行什么动作才知道!(我原来也有死锁特别厉害的问题,后来加个临时表后就没有啦)FYI
http://community.csdn.net/Expert/topic/3696/3696385.xml?temp=.7042658
这个帖子里邹建说的比较详细
update user_jf set jy=xxx where userid=@userid
--是在前台的程式计算了总分再update吗?考虑以其他方式计算分数后update!
是在后台UPDATE的,因为实时性要求比较好
---这个是好想法,我的也有这样的缺陷,我的是封装在一个dll里面处理后update到数据库,这样已经直接在调用的代码快多了,不过我还是觉得写成sp比较好,不过事情太多,那么大的一个系统实在是很难全部翻过来,所以暂时一直没改!但是我优化了查询语句,减少死锁的机会,然后硬体工程师作了很大的改善,问题就解决了,很少出现死锁!在后台计算,update当然比较优,不过你的到底是在执行什么操作时候锁住,仅仅是update user_jf set jy=xxx where userid=@userid吗?计算总分的规则是什么
http://www.51testing.com/html/57/785.html