CPU超负荷异常情况

举报
SHQ5785 发表于 2024/01/03 10:28:45 2024/01/03
【摘要】 ​问题      项目部署阶段,提交订单时总是出现cpu超负荷工作情况,导致机器卡死,订单提交失败。通过任务管理器可见下图所示:       通过任务管理器中进程信息(见下图)进行查看,可见正是由于项目运行的原因导致CPU超负荷工作。元凶究竟是谁?难道是因为输出的测试语句太多导致的,尝试减少测试输出语句。 追根溯源      经查,是在进行提交订单即执行3002交易时发生的错误。再次运行查看...

问题

      项目部署阶段,提交订单时总是出现cpu超负荷工作情况,导致机器卡死,订单提交失败。通过任务管理器可见下图所示:

 

      通过任务管理器中进程信息(见下图)进行查看,可见正是由于项目运行的原因导致CPU超负荷工作。元凶究竟是谁?难道是因为输出的测试语句太多导致的,尝试减少测试输出语句。

 

追根溯源

      经查,是在进行提交订单即执行3002交易时发生的错误。再次运行查看到底是那一步造成的,难道是操作数据表的缘故?用事实说话。如下图所示在执行到操作订单主表lm_bill时,程序便停止运行了,此时CPU已达到100%!

      果然如此,执行到

SELECT * FROM lmapp.lm_addr where uid='U18353102068' AND addrid='1' limit 0,1000

      Sql语句时,此刻在数据库中查询结果为空!而程序在一直处于等待状态!可见,自己的业务逻辑出现了严重漏洞!

      捕获到以下错误:

      java.sql.SQLException: Incorrect string value: '\xA2\x97\xE7\xB2\x92' for column 'medname' at row 1

      擦,找了半天,原来是自己在网数据库中写数据时不知何时将特殊字符加进去了,以至于读表时出现了意想不到的异常。也是醉啦!

SQL语句如何精准查找某一时间段的数据

      在项目开发过程中,自己需要查询出一定时间段内的交易。故需要在sql查询语句中加入日期时间要素,sql语句如何实现?

      SELECT * FROM lmapp.lm_bill where tx_time Between '2015-12-20' And '2015-12-31';

      仔细研究还是能够发现一些细节性的问题的。

      SQL语句1

      SELECT * FROM lmapp.lm_bill where merch_uid='S18853883587' AND tx_time Between '2015-09-17' AND '2015-10-27 24:00:0';

      查询结果1

      

     SQL语句2

     SELECT * FROM lmapp.lm_bill where merch_uid='S18853883587' AND tx_time Between '2015-09-17 0:00:0' AND '2015-10-27 24:00:0';

     查询结果2

      

     SQL语句3

     SELECT * FROM lmapp.lm_bill where merch_uid='S18853883587' AND tx_time Between '2015-09-17' AND '2015-10-27';

     查询结果3

      

     通过对比,可以清楚的发现以上3种sql语句所对应的查询结果均不相同。

     若自己想只以日期为查询条件而忽略时间,则需要对sql语句做进一步的处理操作。

     数据库中数据存储情况:

      

     由此可见SQL语句1为满足条件的查询语句。

     参考文献:

     js转换Date日期格式_js date转日期-CSDN博客 

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。