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

上海网站建设最好的公司排名wordpress通过图片id获取路径

上海网站建设最好的公司排名,wordpress通过图片id获取路径,北京专业做网站设计公司,wordpress注册页面在什么文件下载最近做一个需求,关于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/955908/

相关文章:

  • 企业网站怎么做排名前端转网站建设
  • 上海信息技术做网站网站建设步骤详解视频教程
  • 中牟建设局网站网站建设价目
  • e4a做网站软件单页面网站怎么做的
  • 艺术类 网站建设方案北京高端网站定制公司哪家好
  • 自建网站国家审核要多久商业合作及运营方案
  • 给公司建立网站不可以做到的网页排版精美的中文网站
  • html5响应式网站psdWordPress大胡子
  • 新开家政如何做网站网站建设与推广协议书
  • 开发网站网络公司有哪些怎么安装wordpress主题
  • 网站建设收费标准策划软件技术包括哪些
  • 58同城网站官网wordpress ?p=29
  • 婚恋网站排名前三网站关闭流程
  • 先做网站还是先解析上海cms建站系统
  • 免费网站怎么样电子商务排名
  • 怎么做像小刀网一样的网站上海分公司
  • 网站建设明细wordpress教程 付费
  • 方案策划网站wordpress怎么备份数据库
  • 国家重大项目建设库网站打不开什么是网络营销评价
  • 网店代运营正规公司seo值是什么意思
  • 学校网站建设说明材料青海制作网站的公司
  • 网站建设 宁夏机构网站建设需要交费吗
  • 清欢互联网网站建设小网站下载渠道有哪些
  • 湖南3合1网站建设建c2c网站费用
  • 怎么样开始做网站零代码开发平台免费
  • 北京模板建站代理邢台wap网站建设
  • 北京网站建设 网站制作wordpress字不能
  • 做网站推广销售wordpress网站搜不到
  • 旅游网站建设价格通信工程建设网站
  • 地产项目网站设计做网站能注册账号的