使用jdk8新特性实现数据库性能优化

news/2024/7/5 2:32:58

在循环里创建数据库连接,严重影响数据库性能
在循环里面去操作数据库肯定会慢的,而且还容易碰到新手,在循环里面创建数据库连接,会导致连接数满。一般查询的话,在外层一次性查询出来 然后 在逻辑层去循环组织数据。如果是新增,则可以考虑使用批量插入的方法去处理。

查询的话,在外层一次性查询出来 然后 在逻辑层去循环组织数据。不要循环查询数据库,(尤其是递归查询组织树)经过测试两者在相同数据(258条数据)的情况下性能相差6倍。
如果是更新(修改,新增,删除),多条数据也建议批量处理。(数据少的话没有差别,如果数据量很大的话差别就会很明显,如果多条数据数据量不是很大,用循环交互数据库也可以)。
总的来说,循环交互数据库会使得性能降低。尤其是查询大数据量的时候,性能测试的时差体现的很明显。

 

如:批量修改操作

for(int i=0;i<ids.length;i++){

     bankJournalRepository.delete(ids[i])

}

优化后的代码:

 public ErrorObject deleteByIds(String ids) {

    List<String> idList = Arrays.asList(ids.split(","));

    List<Long> idIte = idList.stream().map(s -> Long.valueOf(s)).collect(Collectors.toList());

    bankJournalRepository.delete(bankJournalRepository.findAll(idIte));

    return new ErrorObject();

  }


http://lihuaxi.xjx100.cn/news/244581.html

相关文章

【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动

SuperIO相关资料下载&#xff1a;http://pan.baidu.com/s/1pJ7lZWf 1.1 服务接口的作用 围绕着设备驱动模块采集的数据&#xff0c;根据需求提供多种应用服务&#xff0c;例如&#xff1a;数据上传服务、数据请求服务、4-20mA服务、短信服务、LED服务以及OPC服务等。保障数…

Work with Alexa :Echo匹配连接到Alexa

背景&#xff1a; 通过蓝牙可以让你的智能家居设备和Echo设备连接起来&#xff0c;从而达到Echo通过语音控制智能家居设备。 什么事Alexa Gadgets&#xff1f; 我的理解Alexa Gadgets是智能家居设备的一部分&#xff0c;包含硬件和软件。硬件&#xff1a;蓝牙模块&#xff1b;软…

http://www.cnblogs.com/youfan/articles/3216816.html

我对 CodeFirst 的理解&#xff0c;与之对应的有 ModelFirst与 DatabaseFirst &#xff0c;三者各有千秋&#xff0c;依项目实际情况自行选择。 1、开发过程中先行设计数据库并依此在项目中生成 *.dbml 或是 *.edmx 文件的&#xff0c;就是DatabaseFirst&#xff1b; 2、开发时…

求逆元 - HNU 13412 Cookie Counter

Cookie Counter Problems Link: http://acm.hnu.cn/online/?actionproblem&typeshow&id13412&courseid0 Mean: 将N分为D份&#xff0c;每份不超过X&#xff0c;有多少种分法&#xff1f; analyse: 首先我们想到的是迭代&#xff0c;但是数据太大&#xff0c;…

js实现表格动态数据展示在其他页面上

1.需求&#xff1a; 这个表格可以动态的添加&#xff0c;添加完毕后可以在另一个页面显示指定数据 实现&#xff1a; <!DOCTYPE HTML> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <#include "/head.ftl"/> …

07 分支管理 —— Feature分支

2019独角兽企业重金招聘Python工程师标准>>> 07 分支管理 —— Feature分支 软件开发中&#xff0c;总有无穷无尽的新的功能要不断添加进来。添加一个新功能时&#xff0c;你肯定不希望因为一些实验性质的代码&#xff0c;把主分支搞乱了&#xff0c;所以&#xff0…

几个流行移动前端框架的比较评分

2019独角兽企业重金招聘Python工程师标准>>> 框架名总分UI全面性JS功能全面性更新程度帮助文档帮助文档详情特色Demo官网性质Jingle115402帮助文档基本方法属性用法UI丰富&#xff0c;仿原生UI与功能组件丰富http://vycool.com/Jingle/demo/index.html#index_sectio…

SpringBoot项目打成war包部署到外部Tomact运行

需求&#xff1a;使用SpringBoot自带的Tomact在线上环境部署特别不方便&#xff0c;尤其是只更改几个文件就得全部打包部署&#xff0c;所以需要把SpringBoot打成war包部署到Tomact 1.在pom.xml中 由原来的jar包改成war <dependency> <groupId>org.s…