java mysql 对于某一张表的查询和更新 有时快 有时慢

夜白宋 Java工程师  2020-04-07 10:47:10

synchronized (moneyDb) {
logger.info("123");
SqlSession sqlSession = moneyDb.factory.openSession(true);
logger.info("123");
try {
orgMsgAccountMapper = sqlSession.getMapper(OrgMsgAccountMapper.class);
logger.info("123");
ans = orgMsgAccountMapper.selectByAccountId(orgAccountId);
logger.info("123");
sqlSession.commit();
logger.info("123");
} catch (Exception e) {
e.printStackTrace();
}
}

代码如上,其实还有其他的关于该表的更新代码,写法同上
根据项目实际运行情况,有时候不卡,有时候查询卡,有时候更新卡,卡的时间大约20秒左右
不知道该如何分析这种情况,唯一定位到的就是sql语句
查询、或更新:如下语句
ans = orgMsgAccountMapper.selectByAccountId(orgAccountId);

执行占用了时间,希望各位大大能给点思路,太难顶了
...全文
177 点赞 收藏 4
写回复
4 条回复
夜白宋 2020年04月08日
这是我接手的老项目,我现在有一种分析,是否可能是sqlSession没有关闭造成的
回复 点赞
夜白宋 2020年04月08日
确认问题在于sqlSession未关闭,导致sqlSession数量达到最大值,下一次查询前需要系统自动释放,等待时间大约为20秒左右,这就是查询,更新,插入都有可能慢的原因
回复 点赞
ぢNo one time of emotiら 2020年04月07日
有时候卡,有时候不卡?测试过同样的查询条件吗?如果是不一样的查询,有差别觉得正常。用你觉得卡的查询、更新的参数值直接放在数据库运行查询和更新看看运行的时间是多少。再和在系统上运行查询、更新的时间对比看看。
回复 点赞
maradona1984 2020年04月07日
DBA的活啊...,如果没有,那你肯定有DBA帐号,自己看下慢sql吧,看你这sql应该是主键查询,不太可能慢的
回复 点赞
发动态
发帖子
Web 开发
创建于2007-09-28

5.2w+

社区成员

34.1w+

社区内容

Java Web 开发
社区公告
暂无公告