随笔 - 23  文章 - 3 评论 - 38 trackbacks - 1
<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

昵称:spgoal
园龄:6年5个月
粉丝:1
关注:0

搜索

 
 

常用链接

随笔分类(22)

随笔档案(23)

文章分类(2)

友情链接

积分与排名

  • 积分 - 39182
  • 排名 - 2740

最新评论

阅读排行榜

评论排行榜

推荐排行榜

      上个星期整个星期在值班,真是辛苦,正值上线初期,一线操作人员不熟悉操作,更重要的是软件不成熟带来的诸多问题,弄得我疲于奔命,好在,总算过去,可以好好休息一下。
      今天星期一,上午是业务最繁忙的时候,但很不幸,坏事还是发生了,9点半左右,内科打电话过来说系统运行速度极慢,医生保存一条医嘱要等1-2分钟,这个不是夸张,我自己试过,需要1分钟左右的时间,于是马上打电话到收费处问问速度,结果一打过去,对方就说,正想打电话给我们说速度很慢,病人已经排到楼梯口了……。其实这个问题在上星期已经出现,一直以来,客户端的运行速度不断的在下降,于是查找原因,起初还是在数据库上做文章,加索引,加大临时表空间,可是收效甚微。
      今天,公司告诉我,他们查到原因了,他们在他们的数据访问类里面加了调试输出,结果发现,医生有可能在接诊病人开医嘱的几分钟时间里发出上百条SQL执行请求,然后我自己跟了下程序,发现的确很多SQL请求,而且大多数都是重复的,太可怕了,我就是选择一条已经开立的医嘱,也有16条SQL语句出现,这下明白了,就算服务器处理能力再强,也无法抗的住如此浪费的SQL请求狂潮,系统是C/S两层结构,没有中间的应用服务器,不能做缓冲,那么解决问题的关键只能在客户端程序里建立一些缓存机制,减少频繁查询数据库,但这个工作非常繁杂,而且风险很大,我准备找医生站程序作为试点。
posted on 2007-04-16 22:11 spgoal 阅读(134) 评论(3) 编辑 收藏

FeedBack:
#1楼 2007-04-18 07:04 Warren Buffett      
是否可以说说所使用软件的开发公司,以及软件的版本。现在我们医院也准备上。
 回复 引用 查看   
#2楼[楼主2007-04-18 22:18 spgoal      
在这里就不便公开了,但建议找本地公司,这样维护起来方便
 回复 引用 查看   
#3楼 2007-06-10 09:16 蛙蛙池塘      
程序里尽量用参数化查询,否则会有好多执行计划不能缓存,索引设计要合理一些,不必要的索引都去掉,如果更新操作比较频繁的话,可以把更新的请求缓存起来,到一定的量后再批量更新到数据库里,关于提高更新数据库的性能我也就知道这么多。
如果出问题了,可以用profiler和事件探查器,配合DMV查看锁情况、IO的逻辑读、执行计划等信息来排查问题

 回复 引用 查看