为啥每次都要加锁呢?
每次进行的操作都必须保证数据的正确性,不被脏读之类的
@.F.: 并发很多???
@幻天芒: en 很多个..我发现自己搞不定啊,没学过并发的知识
@.F.: 什么系统啊?需要时刻加锁?表示设计可能有问题~
@幻天芒: 就是群发短信的系统...对于未处理的短信进行逐个处理(发送)
@.F.: 我觉得这用不着加锁吧...
@幻天芒: 那要怎么控制1条短信正在处理的时候,不会被另一个客户端捕获到进行处理呢(两个以上的客户端同时运行)
@.F.: 时间戳...这样要多加一个字段控制。对于你的客户端来说,应该是多台短信猫或者多个短信网关吧。这种情况下,可以按照id啥的特点进行分开处理,比如,2个网关,那么网关1,id为单数的,网关2,id为双数的。这种..有点分表的味道。
@幻天芒: 多加一个字段显得比较麻烦...因为数据库里已经有很多数据了,所以说 还是加锁比较好。但是我又不怎么会用...有关于加锁之类的教程么?
@.F.: http://zzk.cnblogs.com/s?w=%E6%95%B0%E6%8D%AE%E5%BA%93+%E9%94%81&t=b
你自己看看吧~呵呵~
@幻天芒: 嗯 谢谢啦...话说 还没用过查找功能..
如果方便的话,建议把这条查询的执行计划贴出来
@.F.: 是执行计划,不是SQL语句
@dudu: 他们没给我...是不是with(XLOCK)这个语句没问题,只是执行计划的内容出问题了,比如说是死锁之类的?
@.F.: 为什么要加with(XLOCK)?
@.F.: 建议查询时使用with(NOLOCK)
@dudu: 因为在查询操作之后会有后续的连续操作,避免数据在同一时刻被更改
@.F.:
@.F.: 建议先去掉with(XLOCK)看一下是否还是这么慢
@dudu: 嗯 好的
我去试试
@dudu: dudu园长...去掉的话 (开两个程序的时候)会导致同一条数据被抓取多次啊,这要怎么解决呢?
@.F.: 去掉主要是排除一下是不是with(XLOCK)引起的
@dudu: 是的 如果不用xlock的话 速度就和平常一样了