当前位置: 首页 > news >正文

宁河做网站公司搜索引擎优化是指什么

宁河做网站公司,搜索引擎优化是指什么,苏州外贸网站建设,做网站北京业务场景 我们先来从场景入手,具体的业务是这样的:我们需要从某的省的id去查询这个省份所有的县区,至于什么是县区呢?在DB中我们是这样定义的,也就是字段level 3 的时候,就代表一个县的信息,然后呢&#…

业务场景

我们先来从场景入手,具体的业务是这样的:我们需要从某的省的id去查询这个省份所有的县区,至于什么是县区呢?在DB中我们是这样定义的,也就是字段level = 3 的时候,就代表一个县的信息,然后呢:我们需要查询某个省份的所有县区的项目数,一个县区下可能有很多项目,也可能没有项目信息;

返回格式

{"msg": "操作成功","code": 200,"data": [{"pid": 2,"id": 4,"areaCode": "540121","projectCount": 1,"areaName": "某某县","investMoney": 0,"level": 3,"listMigSupportProjectItemVo": null,"migSupportProjectList": [{"areaCode": "540121","name": "测试01","reservoirs": "1","projectNum": "2","investPlan": "20000.0","type": "散居移民基础设施完善","status": "plan","acceptTime": null,"unitAfterHandover": null}]},{"pid": 23,"id": 24,"areaCode": "542221","projectCount": 3,"areaName": "乃某某某某县","investMoney": 0,"level": 3,"listMigSupportProjectItemVo": null,"migSupportProjectList": [{"areaCode": "542221","name": "项目A","reservoirs": "水库A","projectNum": "项目批准文号A","investPlan": "1000000.0","type": "就业创业能力建设","status": "implemented","acceptTime": "2023-02-01","unitAfterHandover": "单位B"},{"areaCode": "542221","name": "项目B","reservoirs": "水库B","projectNum": "项目批准文号B","investPlan": "2000000.0","type": "类型2","status": "implemented","acceptTime": "2024-03-01","unitAfterHandover": "孤帆候风进"},{"areaCode": "542221","name": "项目C","reservoirs": "水库C","projectNum": "项目批准文号C","investPlan": "3000000.0","type": "类型3","status": "implementation","acceptTime": null,"unitAfterHandover": null}]},{"pid": 23,"id": 25,"areaCode": "542222","projectCount": 2,"areaName": "扎囊县","investMoney": 0,"level": 3,"listMigSupportProjectItemVo": null,"migSupportProjectList": [{"areaCode": "542222","name": "项目D","reservoirs": "水库D","projectNum": "项目批准文号D","investPlan": "4000000.0","type": "类型1","status": "plan","acceptTime": "2026-03-01","unitAfterHandover": "单位D"},{"areaCode": "542222","name": "项目F","reservoirs": "水库F","projectNum": "项目批准文号F","investPlan": "6000000.0","type": "类型2","status": "plan","acceptTime": null,"unitAfterHandover": null}]},{"pid": 23,"id": 30,"areaCode": "542227","projectCount": 2,"areaName": "某某1县","investMoney": 0,"level": 3,"listMigSupportProjectItemVo": null,"migSupportProjectList": [{"areaCode": "542227","name": "项目E","reservoirs": "水库E","projectNum": "项目批准文号E","investPlan": "5000000.0","type": "类型2","status": "plan","acceptTime": "2023-07-08","unitAfterHandover": "规范打广告"},{"areaCode": "542227","name": "1111","reservoirs": "1","projectNum": "1","investPlan": "10000.0","type": null,"status": "plan","acceptTime": null,"unitAfterHandover": null}]}]
}

原始代码

具体的话呢,会返回这样的一个Json格式,可以看出,没有项目的县是不会被返回的,并且查询出来的项目信息回做一个合并的统计,具体的场景就是查询所有某个省所有level为3的信息,然后拿到它的区域编码然后去项目表中查询项目信息,也就是我们要执行很多查询的sql,根据区域编码去查询项目集合(每一个县区的编码都不一样),接下来看一下我们开始写的代码

public List<MigSupportProjectScreenVo> selectAllisBuildProjectByLowestLevel(MigSupportScreenBo migSupportScreenBo) {//先查询所有level = 3 的区域数据List<MigSupportProjectScreenVo> migSupportProjectScreenVos = screenSupportMapper.selectByLowestLevel();migSupportProjectScreenVos.forEach(item -> {item.setMigSupportProjectList(selectProjectListByid(item.getAreaCode(), migSupportScreenBo.getType()));});ArrayList<MigSupportProjectScreenVo> res = new ArrayList<>();migSupportProjectScreenVos.forEach(item->{if (item.getMigSupportProjectList().size()!=0){res.add(item);}});return res;
}//根据区域的code查询一个项目集合
private List<MigSupportProject> selectProjectListByid(String code, Integer type) {return migSupportProjectMapper.selectProjectType(code, type);
}

是单线程的代码,在循环里面调用sql,然后在APIFox中进行测试,在清除了Mybatis缓存的情况下
在这里插入图片描述

优化后的代码

经过优化,我们用了CompletableFuture进行性能的优化

public List<MigSupportProjectScreenVo> selectAllisBuildProjectByLowestLevel(MigSupportScreenBo migSupportScreenBo) {// 先查询所有level = 3 的区域数据List<MigSupportProjectScreenVo> migSupportProjectScreenVos = screenSupportMapper.selectByLowestLevel();// 使用 CompletableFuture 异步执行 selectProjectListByid 方法List<CompletableFuture<Void>> futures = new ArrayList<>();for (MigSupportProjectScreenVo item : migSupportProjectScreenVos) {CompletableFuture<Void> future = CompletableFuture.supplyAsync(() -> {item.setMigSupportProjectList(selectProjectListByid(item.getAreaCode(), migSupportScreenBo.getType()));return null;});futures.add(future);}// 等待所有异步任务完成CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join();// 过滤掉没有项目的 MigSupportProjectScreenVo 对象List<MigSupportProjectScreenVo> res = migSupportProjectScreenVos.stream().filter(item -> item.getMigSupportProjectList().size() != 0).collect(Collectors.toList());return res;
}

使用forkerJoinPool的默认线程池进行优化,没有使用自定义线程池.
在这里插入图片描述
由此可见,速度肉眼可见的提升了!

http://www.dt0577.cn/news/26415.html

相关文章:

  • 网站什么时候做SEO优化最合适百度自动点击器下载
  • 企业所得税汇算清缴时间淘宝seo对什么内容优化
  • 友情链接是在网站后台做吗百度快照推广有效果吗
  • 深圳大胜上海关于进一步优化 广州
  • WordPress用户管理系统优化seo方法
  • 融安有那几个网站做的比较好的长沙建设网站制作
  • 深圳服务平台网站网络营销理论基础有哪些
  • 竞价外包seo到底是什么
  • 企业微信电脑版浙江seo外包
  • wordpress去版权信息汕头最好的seo外包
  • 德清县建设银行官方网站快速将网站seo
  • 最出名的网站建设公司自媒体发布软件app
  • 职业院校专题建设网站新媒体营销案例分析
  • WordPress设置页数温州seo公司
  • 建个微商城网站代写企业软文
  • 台州 做网站重庆seo网站收录优化
  • 定制网站制作广州wordpress建站公司
  • 自己网站怎么做外链上海百度关键词搜索推广服务
  • 网站生成手机版手机免费建网站
  • 加利弗设计公司seo关键词优化软件app
  • 徐州新沂网站建设网站流量
  • 加盟营销型网站制作百度认证营销推广师
  • 用web做简单的电商网站最新小组排名
  • 网站维护后期费用什么是网络营销平台
  • 网站安全风险评估报告免费网络推广渠道
  • 广东建设营销型网站网络营销外包收费
  • 黄页88企业西安百度网站快速优化
  • 南昌网站建设工作惠州seo网站管理
  • 网站开发专业培训学校免费html网页模板
  • 石狮网站建设费用大型集团网站建设公司