加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

系统慢得一批?看数据库运维老司机如何做优化

发布时间:2019-05-25 21:54:07 所属栏目:建站 来源:程序君
导读:副标题#e# 记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的。这也是为什么自己特别喜欢看案例,今天也分享自己做的优化案例。 之前分享过OA系统、HIS系统,今天我们来一个最常见的ERP。ERP系统

优化后

系统慢得一批?看数据库运维老司机如何做优化

系统慢得一批?看数据库运维老司机如何做优化

优化阶段二(针对语句)

再次分析解决大面积语句阻塞的系统,发现现在的情况,主要有如下几个:

内存某些时候还是存在波动,但整体IO 内存已经不是瓶颈。

系统中有SLEEPING的程序阻塞时间长

部分功能语句依然慢,消耗的资源很高。

再次对系统调研:

  • 执行的慢语句是什么业务,是业务功能?还是报表?还是接口?
  • 系统中频繁且较慢的语句。
  • 系统中阻塞的操作是什么。

调研后,我遇到了最常见也是最大的问题: 语句慢由于程序。在HIS的优化案例中就是因为程序大量使用自定义函数,我们没法改,我们巧妙的绕过。那么这次我们如何绕过?

一:报表

分析中发现程序系统中消耗最多资源的主要是报表。

报表通过一系列复杂的查询插入到物理临时表,啥叫物理临时表? 就是非#temp 而是真真正正的插入到表中,用完在delete!

插入在删除,中间还有跟业务表关联操作,导致报表也会阻塞业务!

插入删除的数据量是多少? 你们猜一下??

千万级别....

二:接口

接口程序中频繁调用业务数据并发更新频繁,导致业务受阻。

三:问题代码

代码的问题主要有两个:

代码较复杂,需要细致优化。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读