浅析我院数据库系统中SQL语句优化

2017-12-29 13:16祁星孙琳周治宇南京市口腔医院
数码世界 2017年5期
关键词:数据库系统数据量语句

祁星 孙琳 周治宇 南京市口腔医院

浅析我院数据库系统中SQL语句优化

祁星 孙琳 周治宇 南京市口腔医院

经过多年的努力,我院通过大量的资金和技术的投入,已经逐步变为全面信息化的现代化医院。已经由原来的收费、记账为主,逐步向临床医疗、服务病人过渡。最近几年,在原有医院信息系统(HIS)、实验室信息管理系统(LIS)以及影像归纳和通信系统(PACS)的基础上,新增了很多其他系统,尤其以门诊电子病历(EMR)为首,大大增加了数据库的数据量。对此,在写入和读取数据库的时候,围绕数据库的SQL语句的优化就显得尤为重要。

医院信息系统 数据库 SQL

医院经过多年信息化建设后,取得了显著成效,信息化由原来简单的以收费为主,逐步向临床医技发展,各个医技科室的独立系统联系为全院共享,特别是随着我院门诊电子病历的发展和普及,加上办公软件的深入,一定程度上达到了就诊与工作无纸化的程度。加上我院本来就有的HIS、LIS、PACS等大数据库,数据库的数据量大大增加。医院的业务数据逐渐增加,这给我院的服务器带来了很大的压力。医院属于服务行业,数据的准确性和安全性很重要,不容有半点意外出现。这就给我们医院的信息部门的人出了很大的难题,例如我院的PACS,每日都有大量的牙片要拍,针对增加的数据我们定期的做好备份迁移。

1 数据库优化分析

传统的数据库性能优化主要从操作系统、客户端应用软件程序设计、网络及其它硬件设备等方面来考虑,这种方法一般都是调整数据库配套的硬件设备,这在一定程度上能暂时缓解问题,但是这往往需要购买千万级别的设备,付出的是高昂的成本投入。久而久之随着数据量的增加和更多功能的开发还是会导致系统速度变慢,而不能从根本上解决问题。本文提出的医院数据库系统性能优化是在已有的硬件设施升级、数据库的物理设计、关系规范化等方面进行改进基础之上,对SQL语句进行了有效的分析设计的问题,以使其加快执行速度,减少网络传输,能更高效地工作,充分发挥系统的效率。

2 数据库语言规范化

2.1 索引的建立

优化索引是提高数据库查询速度最好的方法。索引是建立在实体表上的一种数据组织,它可以提高访问表中一条或多条记录的查询效率,索引的使用可以有效避免全表扫描,提高查询速度,在大型的表中进行索引的建立对加快表的查询有着重要的意义。但是并不是所有的表都需要建立索引。索引通常可以提高select、update以及delete语句的性能,但是会降低insert语句的性能,所以索引的使用要恰到好处。索引的建立使用需要参考很多原则。建立索引一定要慎重,每个索引在建立之前都要仔细分析,一定要有建立的依据。过多的索引或不充分、不正确的索引对提升数据库的性能毫无益处。

2.2 SQL语句优化

SQL语言是一种灵活的语言,相同的功能可通过不同的语句表达来实现。但不同的语句在执行效率上存在巨大的差别。对此,任何一个数据库应用系统中,SQL语句进行合理优化将大大的提高整个数据库系统的性能。SQL语句执行过程中分三个阶段,分别是进行处理语法分析、执行、读取数据SQL语句执行过程在复杂的数据库环境中使用SQL时,明显的能感觉到一些性能上的差别。例如在我院HIS的一些大型表中表现尤为明显。SQL语句执行效率低下的原因主要来自于不恰当的索引设计、不充分的连接条件和不可优化的WHERE子句及其它不恰当的语句操作等,在对它们进行适当的优化后,其运行速度有了明显提高。下面将从这几个方面分别进行说明:

2.2.1 LIKE操作符

LIKE操作符可以应用通配符查询,里面的通配符可以满足任意查询的要求,但用的不好会产生性能上的问题,例如like 'a%'使用索引,like ‘%a’ 不使用索引。

2.2.2 UNION操作符

UNION在表链接后会自动筛选掉重复的记录,所以会对产生的结果集进行排序运算,删除重复的记录再返回结果。在实际过程中,很多应用程序中是不会产生重复的记录。推荐采用UNION ALL操作符替代UNION,因为UNION ALL操作只是简单的将两个结果合并后就返回。

3 结束语

通过上述这些例子可以看出,SQL优化的本质就是在结果正确的前提下,用优化器可以识别的SQL语句,利用索引,尽可能避免表搜索的发生。我院SQL的性能优化是一个复杂漫长的过程,上述这些案例只是在SQL语句应用于我院系统时的一些具体实例总结。总之,数据库性能优化是一个庞大的系统工程,触及的方面很多。对于数据库管理员而言,需要使用多种方法综合考虑,认真分析数据库运行过程中出现的各种问题,才可以保证数据库高效运行。

[1]阿孜古丽.医院数据库安全维护的分析及策略[J].中国医疗设备,2011,(6):77-78

[2]张骏.SQLServer数据库在医院信息管理系统中的应用[J].计算机光盘软件与应用2013(1)

[3]骆正云.医院HIS系统SQLServer数据库性能优化[J].医疗卫生装备.2005(2):32-33

猜你喜欢
数据库系统数据量语句
基于大数据量的初至层析成像算法优化
高刷新率不容易显示器需求与接口标准带宽
重点:语句衔接
宽带信号采集与大数据量传输系统设计与研究
基于Oracle数据库系统的备份和恢复技术
Oracle数据库系统的性能优化研究
计算机数据库系统在企业管理中的应用
数据库系统在计算机体系结构中的应用
我喜欢
作文语句实录