美文网首页
删除一个数据项的操作耗时30秒问题排查

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

作者: acybDM | 来源:发表于2019-10-24 14:29 被阅读0次

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

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

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

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

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

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

相关文章

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

    1.现象:从页面选中一条记录删除耗时:15-38秒不等 2.解决步骤:2.1查看后台代码逻辑,发现涉及多张表中的信...

  • 还在用new Date计算任务执行时间?强烈建议使用这个API

    在实践过程中,我们经常需要记录一个任务执行的耗时,这是评价代码好坏,评测代码性能,排查业务执行问题的重要操作。那么...

  • Python 多线程

    多线程 1.耗时操作 1.1耗时操作放到主线程中的问题: 耗时操作放到主线程中,会阻塞线程 多个耗时操作都放到一个...

  • day18-多线程

    1. 耗时操作 耗时操作放到主线程中的问题:耗时操作放到主线程中,会阻塞线程多个耗时操作都放到一个线程中执行,最终...

  • Day17-多线程

    1、耗时操作 耗时操作放到主线程中的问题:耗时操作放到主线程中,会阻塞线程多个耗时操作都放到一个线程中执行,最终执...

  • 多线程

    耗时操作 1.耗时操作放到主线程中的问题:耗时操作放到主线程中,会阻塞线程多个耗时操作都放到一个线程中执行,最终执...

  • day18-多线程

    一、耗时操作 1.耗时操作放到主线程中的问题:耗时操作放到主线程中,会阻塞线程多个耗时操作都放到一个线程中执行,最...

  • 2019-04-16

    怎么在BroadcastReceiver(广播)里做耗时操作? 最近刚好遇到一个耗时操作的问题,因为用到逻辑里...

  • day18

    一、线程 耗时操作放到主线程中的问题:耗时操作在主线程中,会阻塞线程多个耗时操作都放到一个线程里面,最终执行的时间...

  • day18-多线程

    一、线程 耗时操作放到主线程中的问题:耗时操作在主线程中,会阻塞线程多个耗时操作都放到一个线程里面,最终执行的时间...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/vnvmuctx.html