怎么解决“并发”问题?(200分)

  • 主题发起人 主题发起人 lovewh119
  • 开始时间 开始时间
L

lovewh119

Unregistered / Unconfirmed
GUEST, unregistred user!
在C/S中,怎么才能又快又好的解决几个客户同时访问或修改同一条数据的问题!
请回答的前辈回对得详细点,不要丢一句“数据库加锁就可以了”的话出来。
更希望还有别的办法!
小生不胜感激并200分相送!
 
加锁确实有点简单化,特别是其它人正在编辑这条数据时,何时才能解锁?
是否可以这样:另设一个字段来记录修改次数,只在写数据时短暂加锁,
写之前再读一次数据,根据修改的次数判断在自己编辑数据过程中是否有其它人
修改过数据,再根据不同情况处理。
 
用存储过程阿
留下你的qq和mail
 
老人家,我也听说了可以用存储过程,但具体怎么做我还是不知道,可能是我太菜了吧,
你可不可以详细的告诉我呢,我的MAIL为:lovewh119@163.net,我不没有QQ的。等待你的
指导!谢谢了!
 
paradox 紀錄枷鎖
rdbms : 事務控制+huancunjizi
when post
 
天呀,怎么没有人告诉我呀,200分相送了还想怎么样呀?
 
somebody tell me !!!
 
那就用事务或者加锁就是了
1 用事务,结合事务隔离级别来控制
2 在SQL语句(表名)后面加with ( XXX)
xxx: xlock 排它锁
pagelock 页锁
tablock 表锁
rowlock 行锁
不知道 sql7支不支持!
例如 select * from atable with(rowlick) where XXXXXXX
使用锁和用事务对表的封锁是等同的
 
SQL SERVER好像一用事务后,
只要有一条记录被改变,就锁住整个表,不是锁住一条记录

真是狗屎
 
interbase支持锁机制吗???
 
先给zxbyh加30分先,希望各位努力`~
 
为了解决“并发”要加“锁”?
不知楼上各位试过没有?
只要数据一锁定,并发的程度当然很低啦,但你的死锁的概率提高啦。
首先表要有主键,力挣使锁定的记录最小化。
其次,事务要尽可能的小,马上提交改变
 
有没有搞错? 通常对数据并发处理的时候,需要考虑的是防锁的问题而不是加锁的问题。
解决几个客户同时访问或修改同一条数据的问题,应该通过判断数据表的ID、UseID、UserDateTime及
其他标志条件来完成,如有必要,这些工作通过存储过程来处理是最合适的。
 
操作提交给中间件,由中间件排列操作数据库.
 
哈哈,我才发现你这里还有200分没人要,晚上早点回家,我来告诉你是什么回事..
 
SQL會自己處理的﹐你干嗎操那么多心?
 
接受答案了.
 
后退
顶部