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

网站兼容ie7嘉兴优化公司

网站兼容ie7,嘉兴优化公司,太原关键词网站排名,从哪些方面做好网站的seo最近做一个需求,关于SQL高可用优化,需要优化项目中的SQL,提升查询效率。 SQL高可用优化 一、优化SQL包含distinct场景二、优化SQL中Where条件中索引字段是否为NULL三、代码验证1. NodeMapper2. NodeService3. NodeController4.数据库数据5.项…

最近做一个需求,关于SQL高可用优化,需要优化项目中的SQL,提升查询效率。

SQL高可用优化

  • 一、优化SQL包含distinct场景
  • 二、优化SQL中Where条件中索引字段是否为NULL
  • 三、代码验证
    • 1. NodeMapper
    • 2. NodeService
    • 3. NodeController
    • 4.数据库数据
    • 5.项目结构及源码

一、优化SQL包含distinct场景

1.1 原因
数据量:数据量越大,DISTINCT操作需要的时间和资源越多。
索引:如果查询中涉及到的列没有索引,数据库引擎可能需要全表扫描来执行DISTINCT操作,导致性能下降。
数据分布:如果数据分布不均匀,即某些值出现频率较高,DISTINCT操作会更耗时。
1.2 优化措施
(1)可以利用Set集合进行存储,Set集合会自动对数据进行去重
(2)可以用lambda表达式中distinct()方法进行去重

二、优化SQL中Where条件中索引字段是否为NULL

1.1 原因
对索引字段进行非空检查时,数据库可能会选择全表扫描而不是使用索引,因为索引中不包含NULL值,这会降低查询性能。
1.2 优化措施
在service层利用lambda表达式中进行去重

三、代码验证

1. NodeMapper

@DS("mysql1")
@Repository("NodeMapper")
public interface NodeMapper extends BaseMapper<NodeVo> {@Select("select distinct esn from node_vo where name like 'GTS5900%'")List<String> getNodeListByName(String name);@Select("select esn from node_vo where name like 'GTS5900%'")Set<String> getNodeSetByName(String name);@Select("select esn from node_vo where name like 'GTS5900%'")List<String> getNodeListNoDistinctByName(String name);@Select("select esn from node_vo where esn like 'msk00%' and name != ''")List<NodeVo> getNodeListNoEmptyNameByEsn(String esn);@Select("select esn from node_vo where esn like 'msk00%'")List<NodeVo> getNodeListByEsn(String esn);
}

2. NodeService

@Service
public class NodeService {@Autowiredprivate NodeMapper nodeMapper;public List<String> getNodeListByName(String name){// 通过sql语句中distinct去重return nodeMapper.getNodeListByName(name);}public Set<String> getNodeSetByName(String name){// 通过set集合去重return nodeMapper.getNodeSetByName(name);}public List<String> getNodeListNoDistinctByName(String name){// 通过xxx.stream().distinct()去重List<String> nodeListNoDistinctByName = nodeMapper.getNodeListNoDistinctByName(name);return nodeListNoDistinctByName.stream().distinct().collect(Collectors.toList());}public List<NodeVo> getNodeListNoEmptyNameByEsn(String esn){return nodeMapper.getNodeListNoEmptyNameByEsn(esn);}public List<NodeVo> getNodeListByEsn(String esn){return nodeMapper.getNodeListByEsn(esn);}
}

3. NodeController

@RestController
public class NodeController {@Autowiredprivate NodeService nodeService;@RequestMapping("getNodeListByName")public List<String> getNodeListByName(String name) {// 通过sql语句中distinct去重return nodeService.getNodeListByName(name);}@RequestMapping("getNodeSetByName")public Set<String> getNodeSetByName(String name) {// 通过set集合去重return nodeService.getNodeSetByName(name);}@RequestMapping("getNodeListNoDistinctByName")public List<String> getNodeListNoDistinctByName(String name) {// 通过xxx.stream().distinct()去重return nodeService.getNodeListNoDistinctByName(name);}@RequestMapping("getNodeListNoEmptyNameByEsn")public List<String> getNodeListNoEmptyNameByEsn(String esn) {// 通过sql过滤name不为null的值List<NodeVo> nodeListNoEmptyNameByEsn = nodeService.getNodeListNoEmptyNameByEsn(esn);return nodeListNoEmptyNameByEsn.stream().map(NodeVo::getEsn).collect(Collectors.toList());}@RequestMapping("getNodeListByEsn")public List<String> getNodeListByEsn(String esn) {// 通过xxx.stream().filter()过滤name不为null的值List<NodeVo> nodeListByEsn = nodeService.getNodeListByEsn(esn);return nodeListByEsn.stream().map(NodeVo::getEsn).filter(Objects::nonNull).collect(Collectors.toList());}
}

4.数据库数据

在这里插入图片描述

5.项目结构及源码

源码下载地址demo-springboot-mybatisplus,欢迎Star !
在这里插入图片描述
由于项目集成了SaToken框架,需要先登录,再访问测试NodeController接口
在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/188977/

相关文章:

  • 期货贵金属网站建设深圳建站费用
  • 公司网站首页的图片怎么做鞍山做网站团队
  • 1个空间做两个网站房子装修风格大全2021新款
  • 鄂州做网站多少钱珠海响应式网站建设价格
  • 网站开发服务的协议计算机机应用网站建设与维护
  • 做网站前端的软件怎么做营销网站推广
  • 郑州市的实惠推广网站查查企业网
  • 微信小程序开发零基础入门南昌seo教程
  • 网站建设视频教程php仿牌网站安全
  • 搭建论坛网站使用的系统2008 iis asp配置网站
  • 网站建设商城商城网站建设多少钱seo软件工具箱
  • 网站访问流程设计前山网站建设
  • 028网站建设工作室wordpress禁止拖拽
  • 网站被做跳转怎么做阿里巴巴英文网站
  • 湖北营销型网站建设价格seo如何优化网站步骤
  • 海城网站建设网络建设股票有哪些
  • 网站下雪的效果怎么做的深圳企业网站建设服务哪家公司好
  • 网站关键字被百度收录哈尔滨seo优化排名免费咨询
  • 西宁城西区建设局网站在青海省住房和城乡建设厅网站
  • 备案网站的规则济南网络电视台
  • 小程序直播开发太原企业网站怎么优化
  • 个人网站空间申请品牌网站建设流程图
  • 《php网站开发》课程资料中国企业信息公示网登录官网
  • 我想做个百度网站怎么做的电子商务网站建设的方法及流程图
  • 网站开发项目延期说明做一个网站要多少钱
  • 网站优化用什么软件天津网站建设排名
  • 网站建设的问题建筑公司简介模板 范本
  • asp网站静态化推广衣服的软文
  • 如何用c 做网站背景金融网站建设成功案例
  • 计算机应用技术网站开发基础知识国家住房和城乡建设部官网