删除一个数据项的操作耗时30秒问题排查

2019-10-24  本文已影响0人  acybDM

1.现象:从页面选中一条记录删除
耗时:15-38秒不等

2.解决步骤:
2.1查看后台代码逻辑,发现涉及多张表中的信息同步删除
逐个给后台每张表添加索引后,再次进行删除操作,仍然很慢

2.2后来仔细观察代码发现是调用的hibernate的delete方法进行删除的,
思考后想到可能是要删除的这个记录对应的实体类关联了其它的类(即还涉及到其它的表),于是最终又找一个之前没有添加索引的另一张表。

2.3这张表数据量接近7千万,给需要的列增加索引时耗时约2-3分钟
成功增加索引后,再次从页面删除,这次秒删了。

特将这次问题排查过程记录下来

3.经过这次排查问题后的思考:
某一涉及数据库的操作响应很慢。对于这样的问题如何快速定位到某个表,提供了一个思路:
在这个慢操作的过程中,不断查询数据库中是否有表处于连续较长时间的死锁状态,这样就可以快速了解到是否有某个表存在问题。

上一篇 下一篇

猜你喜欢

热点阅读