数据库作为信息系统的根基,支撑着整个业务系统,发挥着非常重要的作用,但是,当系统的用户数量、数据量和访问量增加时候,单机上运行SQL数据库就无法支持这样的大量工作。
目前常用的方法是优化SQL语句、提高机器配置,如提高CPU、内存等硬件方法。优化SQL语句需要开发人员进行大量工作。
其实有其它方法解决,SQL数据库做负载均衡,可有效解决数据库查询慢、响应时间过长,同时也能保证高可用等方面的问题。具体方法我们可以一起探讨一下。
收起这个需要从应用程序、数据库设计、SQL语句以及硬件配置几方面去处理
首先针对多个系统,在程序设计时,需要考虑程序之间的接口方式(例如WebService、或是单点登录之类的)、代码设计等;
数据库设计,表与表之间的关系,SQL具有需要消除冗余、优化语句
硬件配置我觉得主要是提高存储的配置,例如存储的前后端口的速率、硬盘的类型、或是直接更换为全闪存阵列模式等
收起医院数据查询慢有多个方面的原因,需要分析查询数据慢的瓶颈在哪里,一般的解决方案为先软件后硬件,即先判断是否为软件系统出现问题,如果不是再通过提升硬件的方案进行解决。
1、如果查询涉及到多个医疗业务系统,可以排查是哪一个业务系统拖累了整个系统的查询时间。然后可以通过优化数据库、优化软件查询语句的方式来进行优化。
如果查询需要依赖多个业务系统进行实现,那么可以有两种解决方案。一是建设统一的医院内部信息化平台,统一整合医疗数据,提高查询效率。这个是未来医院的发展方向,建议考虑实施,但是缺点是建设周期长,工程比较大。另外一个方法是建设一个数据采集库,将需要经常查询的数据进行统一采集,查询的时候只查询这一个库就可以了。缺点是数据实时性可能不高。
2、如果是存储系统出现问题,可以考虑进行性能升级,建设直接采用闪存阵列的方案。一般医院的结构化数据量不是很大,采用闪存阵列成本不会太高,而且采用闪存阵列带来的性能提升明显,可以很好的解决查询响应速度慢的问题。
收起