• 索引对更新语句速度影响很大


      背景:服务器cpu报警,5分钟内3次超过30%。当时,公司管理产品的同事正通过我们提供的程序对上传的数据做处理。

      原本一分钟能处理10000条数据的,突然变成一分钟只能处理100左右。对每个数据操作时间进行排查发现,更新操作的时间是0.6s,从这个时间推算,差不多一分钟就只能处理100条左右。

      但是之前为什么能处理那么多呢?原来今天刚运行的数据是修改数据的操作。然后发现修改所依据的字段不是主键,也没有加索引。马上对它建立索引,再次运行,发现增加到1000条,并没有到10000条级别。折腾了很久,发现是刚发现cpu过高时,给代码设置的usleep时间是0.1s,每跑完一条休息0.1s,自然是只能差不多1000条了。最后把这个去掉之后就又正常了。

      更新时where语句中的条件字段一定要加索引,尤其是大批量的数据更新。本例中,没有将主键作为条件字段,这也是一个原因。

  • 相关阅读:
    各个控件说明
    html常用
    abp.message
    ABP框架——单表实体流程
    AngularJS $http和$.ajax
    AngularJS ng-if使用
    AngularJS 多级下拉框
    AngularJS 计时器
    AngularJS table循环数据
    Python之待学习记录
  • 原文地址:https://www.cnblogs.com/yangcclg/p/6000064.html
Copyright © 2020-2023  润新知