案例复盘:系统三天不手工清理临时表就会变得很卡

问题描述
系统三天不手工清理临时表,就会变得很卡,物料上上传的附件预览一直转圈,打不开。
分析处理过程
1、云星空执行计划列表里面的“临时表定时清理服务”,显示只有最近30分钟运行成功,每分钟执行一次的,但是在远程的过程中最近10分钟的执行成功没有显示了;
注:怀疑?!临时表堆积,导致无法一分钟执行完一次清理;上一轮没清理完就到了下一轮的清理时间了;导致直接执行失败;

2、远程查看临时表有120多G,如下图所示;

客户每天都需要手工在数据库里面执行语句清理临时表,每次都要3个小时左右。
给客户在数据库里面设置每天凌晨3点钟自动执行临时表清理语句(每次清理50个临时表),再观察;
3、综上情况,确实存在临时表堆积的情况;接下来,先进行后台语句清理临时表。
4、次日,客户早上9点在数据库执行了一次清理临时表;目前在云星空软件前台的数据瘦身界面这,统计4个小时之前的临时表,可清理的大小为0;如下图所示;

但是在数据库后台,用语句查询目前还有76G+的临时表(4个小时内产生的);如下图所示;



注:临时表大量堆积,所以导致前台执行计划里面的临时表执行计划无法执行,已手工设置为停止状态;

5、提供语句,后台执行清理临时表;在登记表清理6小时前的,显示有34万个临时表;如下图所示。


执行临时表清理语句,执行了40分钟,还没有完成;
6、手工停止掉清理语句,再次执行查询临时表数据的语句,显示还是剩下158289的临时表;如下图所示。

随后重新查询占用空间,也有大量减少,如下图所示;

再次执行清除登记表中的数量,也有大量减少,如下图所示;

综上,上一轮执行语句清理了40多分钟还是卓有成效的;
7、后面继续执行语句清理,等待多时之后,清理语句执行完成;如下图所示。

8、清理完成之后,再次查询临时表占用空间,还有14.9G;如下图所示;

临时表的数量也分别还是有15万和40万,如下图所示。

到这里为止,虽然已经清理掉了大量的临时表;但是从最后的查询结果看,一天的临时表还有14.9G,一天产生的临时表数量将近15万,这个量大的有点异常了?~!
9、每天几十万的临时表,这个量实在太大了,需要分析一下原因才行;
出于想找找大量产生临时表的原
案例复盘:系统三天不手工清理临时表就会变得很卡
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



