日期:2014-05-17  浏览次数:20476 次

疑难杂症求解决
有一张表很简单

ID    Tag
1     测试

这个问题比较怪异,具体如下
比如1000个用户在同一时间(22:00:00)查询这个表  SELECT Tag FROM 表 WHERE ID=1

这个时候我执行 UPDATE 表 SET Tag='xxxxxx' WHERE ID=1


这个时候CPU就会出现 百分百的情况(100%) 持续持续5秒然后就降下去了 

求高手找找啥原因  这个问题困扰太久了。。。就在这个CPU爆满的5秒之间 用户在执行请求操作就会感觉非常卡,只有等待5秒结束之后才能做其他操作  

数据库访问层是ADO肯定没问题的
注意:服务器配置很高,不是硬件问题
------最佳解决方案--------------------
这个还真没法测试啊?

试着在查询的时候在表上with (nolock)
------其他解决方案--------------------
ID 上 是否有索引?
------其他解决方案--------------------
来人啊   求帮助啊
------其他解决方案--------------------
高手帮忙看看啊
------其他解决方案--------------------
肯定不是硬件问题拉,这明显是等待。高版本的SQLServer能通过快照和row version来避免,但是不能完全解决。特别在你查询慢的时候和过多索引的时候,你一更新,其他东西都要跟着改变。
------其他解决方案--------------------
1.可以用跟踪来检查查询一次和更新一次所需要的时间,再把查询次数乘以1000,看它要多长时间.
2.建议把这一句查询改成存储过程,应该可以快一些.

------其他解决方案--------------------
楼主有找到解决办法说一下
------其他解决方案--------------------
没有解决  没戏了 结贴吧