SQL语句不当 也会影响性能

来源 :中国计算机报 | 被引量 : 0次 | 上传用户:gonggong1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  
  优化前后的调用表顺序
  在数字化医院建设的大潮中,某医院信息中心与某公司合作开发了门诊医生站,于2008年1月初试运行,并新增50台计算机和一台新的服务器。门诊医生站项目从筹划到上线一直很顺利,却没有想到竟然出现了查询速度慢的问题。这是为什么呢?该医院信息中心作了原因的分析。
  
  速度变慢原因逐个排查
  
  该院信息中心在做门诊医生站的需求分析时,就明确了必须满足现金和预交金两种费用结算模式的需要,给病人以选择权。在预交金结算费用方式下,病人在预交一定现金后,就无需排队挂号交费,诊疗时医生在电脑上刷卡后即完成挂号费用的交纳,问诊开药后可直接在电脑上刷卡交费,免去以往划价、缴费时楼上楼下跑以及排长龙的麻烦。
  在预交金结算模式下,门诊挂号和收费处都要从系统里调出病人的历史信息,他们普遍反映刷卡查找病人时非常慢,在星期一及星期六上午病人较多时尤其如此。而对现金结算模式的病人,门诊挂号和收费时并没有出现速度变慢的状态。
  结合多年的实践,该院信息中心认为,系统性能的下降可能有这几方面的原因:一是硬件性能不够;二是数据库的相关参数设置不当,影响了系统性能;三是SQL语句设计方面的原因。
  对于这几方面的原因,该院信息中心首先排除了前两个原因。在建设门诊医生站时,该院信息中心购买了新的服务器,远远没有达到充分利用的水平。对于数据库参数的设置,该院信息中心在以前已经做过比较充分的调整,本次系统性能的恶化基本也可以排除这一原因。
  由于速度变慢主要表现在刷卡查找病人这个环节,该院信息中心决定重点分析SQL语句方面的原因。该院信息中心发现,在刷卡定位病人时,需用到5个表,即就诊主记录、科室字典、病人主索引、门诊就诊队列和合同单位字典,且调用表的顺序是就诊主记录、科室字典、病人主索引、门诊就诊序列、合同单位字典。
  很明显,调用表的顺序可以优化,常规记录数基本固定的小表应放在最前面,如科室字典、合同单位放在前面,大表如就诊主记录、病人主索引和门诊就诊队列应放在后面。因为在刷卡查找病人时,最先找到的是ID,而病人索引表中病人ID是主索引。因此该院信息中心认为,在查找病人的SQL语句中,如果WHERE语句先对ID赋值,再从病人索引中查找病人的基本信息,其效率应该最高。
  在同一时间段,门诊挂号、收费处和医生均要对就诊病人进行刷卡查询。如果系统未能优化,必将导致系统性能的下降,自然会影响对实时性要求很高的环节,如挂号、收费和门诊,这也能很好地解释当时挂号和收费处操作人员反映的问题。
  调用表顺序优化
  根据前面的分析,该院信息中心对SQL语句进行了调整,即将科室字典、合同单位放在前面,将就诊主记录、病人主索引和门诊就诊队列放在后面。在其他条件不变的情况下,该院信息中心统计了SQL语句的执行时间,其查询速度提高了19%,而就诊主记录、病人主索引和门诊就诊队列3个表的顺序安排,对测试几乎没有影响。如果同时将WHERE后的SQL语句改为先对ID赋值,从病人索引中查找病人的基本信息,再关联其它表,这时查询病人的速度又可提高12%。
  对门诊就诊队列,该院信息中心根据医院挂号保留的天数进行数据处理。正常情况下,其过期的数据没有保留的意义,可以做合适的处理,如转储。实测结果是,在不对门诊就诊队列表作任何处理和只保留2天记录的情况下,后者查询速度比前者提高了约21%。
  对SQL语句进行调整和相关表记录进行处理,就使系统性能提高了很多,这不得不引起数据库管理和编程人员的极大重视。
  随着系统应用的继续,就诊主记录会不断增加,因此应根据医院的查询要求,保留必要的数据,其他记录应及时进行转储。其原因是,对数据库进行写操作时,速度与被写表记录的大小基本没有关系;而对數据库进行读操作时,定位记录与被读表记录的大小关系很大。及时对大表进行转储,是提高读操作一个有效的办法。
其他文献
“洋山港,你们那边情况怎么样?”  “一切正常,请放心。”  依靠一个小小呼叫器,却能即时通知到所有市区各级部门的应急单位,这完全依赖于“上海市800兆数字集群政务共网”。这个“天网”能确保应急呼叫随喊随到,大大提升了上海市应急指挥能动力。  据记者了解,2006年12月30日,由上海电信承建的上海市800兆数字集群政务共网正式开通,该网将起到保障上海市日常政务通信和应对突发公共事件信息支撑平台的
华硕从2007年10月推出EeePC,迄今已满周年。这一年里,便携终端经历了一个探索的过程:屏幕从7英寸到8英寸再到10英寸,硬盘从小容量SSD到传统硬盘再到大容量SSD,价格从三千元以下到五六千元再到数万元。面对这一全新的产品领域,大家都在摸索属于自己的道路。近日,华硕再次推出EeePC新品——S101。这款产品更多地突出了外观设计,并且摒弃了低价格的传统,将思路重新定位在“随身”所需要追求的轻
你清楚管理公司内文件输出设备要占用多少时间吗?你清楚文件输出设备安置的依据和它们的利用率吗?你清楚如何控制目前文件管理的支出吗?如果对于这些问题的回答是否定的,那么你更应该考虑采用办公管理服务了富士施乐(中国)有限公司全球服务部业务发展经理葛清泉介绍说,目前在使用富士施乐全球办公管理服务的60多个客户,都是规模在200人以上的公司    富士施乐办公服务的成长    富士施乐从1998年签署了第一
人物: 爱普生(中国)有限公司总经理 牛岛升   中国计算机报社执行总编辑 刘保华  地点: 爱普生(中国)有限公司会议室    2008年,我们赋予了这个年份太多的意义。对于爱普生来讲,2008年似乎也显得非同凡响,这一年是爱普生中国有限公司成立10周年。经过10年的发展,爱普生在打印机、投影机、半导体元器件等领域都取得了不俗的业绩。  中国计算机报社执行总编辑刘保华与爱普生(中国)有限公司总经
博锐技术是英特爾联合业界推出的平台技术,关注安全、虚拟化与可管理性,目前已应用于铁路、医院等行业。据英特尔中国大区电信事业部经理曲永雷介绍,这项技术也将助力运营商,一方面通过业务模式创新来赚钱,另一方面则是通过成本优化来省钱。  很显然,对于运营商的后台支撑部门来说,博锐技术可以提高内部IT的管理水平,尤其是系统安全和集中管理IT资产。而在业务部门,这项技术则可能发展成为一项赚钱的业务。据了解,英
在政协十一届一次会议后的小组讨论会上,科技组的政协委员们展开了热烈讨论。  本报讯 3月3日下午,中国人民政治协商会议第十届全国委员会第一次会议在人民大会堂开幕。3月5日上午,第十一届全国人民代表大会第一次会议在人民大会堂开幕。时值全面贯彻落实党的十七大精神第一年,改革开放30周年,以及北京奥运会开幕前夕,今年“两会”具有更丰富的意义,吸引着全国人民的目光。众多来自信息产业的代表和委员们热议国是,
肩负将互联网产业从手工作坊带入工业时代使命的IDC产业正处在战国纷争的年代……  在北京,到底有多少家IDC运营商?  随着IDC产业的日益发展,全国各地的IDC运营商如雨后春笋般蓬勃发展,仅北京一地,就有包括北京电信、联通、世纪互联、首创、盈动、清华万博、首信、263首都在线等在内的二十余家IDC企业,而在上海、广州、深圳等城市IDC产业发展稍慢一点,但也各有近十家IDC公司。  不过,中国的I
案例   蒸汤馆老板抢注“黄鹤楼”相近域名法院认定恶意注册  2008年,江西蒸汤馆老板抢注武汉烟草公司“黄鹤楼”商标为域名,被法院判定侵权。“黄鹤楼”烟系列产品在湖北武汉甚至全国,都有一定名气。然而,让人没有想到的是,“www.黄鹤楼商贸.cn”、“www.黄鹤楼商贸.中国”、“www.黄鹤楼香烟.cn”、“www.黃鹤楼香烟.中国”等中文域名,其所属人并不是与之相关的烟草公司,而是江西省的一
曙光总裁历军表示,曙光高性能计算机未来将会越来越多地采用国产处理器,以保证国家战略装备的安全。    今年年底,全球超级计算机TOP500名单出炉的时候,中国品牌——曙光5000或将出现在前十名之列。  6月24日,曙光公司将与上海超级计算中心在京举行签约仪式,这意味着国家“863”计划重大成果——运算速度超百万亿次的曙光5000高性能计算机年底将正式落户上海。  曙光总裁历军6月16日约见本报记
春寒料峭,被美国媒体誉为“第三次零售业革命”的电视购物在鼠年开端正式染指PC行业——包括联想、惠普等在内的PC厂商开始在湖南、山东、内蒙古等地主要电视频道的电视购物栏目与观众见面。这标志着电视购物开始冲击固若金汤的PC传统渠道。从营销层面讲,或许联想们的战略性试探将为PC创新营销再下一城,但抽丝剥茧之后不难看出,让PC厂商头疼的几大难题依然横亘。  最近一段时间,武树军明显增多了到三、四级城市出差