一:单表查询更有利于后续维护

二:代码可复用性高

三:效率问题

a:数据量小的情况下,连表查询的效率还是可以的,但是如果连表比较多,数据量上去,查询是笛卡尔积方式,查询的数据量是成几何倍上升的,这种情况下连表查询也必然会建立索引,这样的话索引的建立方式就要进行设计,需要一些索引功底的,如果索引建立不合适,是有可能会拖垮数据库的。

b: 相比较而言,单表查询+代码上组装,逻辑比较清楚,维护方便,构建索引也相对很简单了,用多访问几次数据库,多几行代码换取效率上的提升,也是很可行的。

笛卡尔积:例:假设集合A=(a,b),集合B=(0,1,2),则两个集合的笛卡尔积为(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)

四:缓存利用率高

比如不常变动的数据,缓存下来,每次查询的时候就没必要再去查了,直接拿取,进行下面操作就可以了。

五:其它

a:数据库瓶颈会影响性能,一些复杂的逻辑尽量是在业务层进行,最好不要在数据库中进行

b:数据量上去后,常做分库分表操作,使用join连表查询在这种情况下表现并不友好

c:单表查询+代码上组装相当于解耦了,无论是复用还是什么,也都比较方便了

java开发中为什么不建议连表查询相关推荐

  1. Java开发中的使用redis缓存提升查询效率

    枚举类 public enum AppKey {/*** Redis Key 约定*/USER_SESSION("USER"),SYS_MENU("MENU") ...

  2. 编写高质量代码:改善Java程序的151个建议 (第1章 Java开发中通用的方法和准则)

    第1章 Java开发中通用的方法和准则 The reasonable man adapts himself to the world;the unreasonable one persists in ...

  3. JReBel激活码注册申请--方便Java开发中使用Jrebel热部署

    JReBel激活码注册申请--方便Java开发中使用Jrebel热部署 示例: rO0ABXNyAChjb20uemVyb3R1cm5hcm91bmQubGljZW5zaW5nLlVzZXJMaWNl ...

  4. JAVA 开发中常用的工具有哪些?

    Java开发中常用的工具有以下几种: Eclipse:一款非常流行的开发工具,提供了很多方便的功能,如代码自动补全.调试.版本控制等. IntelliJ IDEA:一款功能强大的Java集成开发环境, ...

  5. Java开发中的eclispe常用快捷键全部快捷键

    Java开发中的eclispe常用快捷键&全部快捷键 Ctrl+1 快速修复(经典快捷键) Ctrl+D: 删除当前行  Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt ...

  6. Java开发中RestFul服务接口规范

    REST介绍 representational State Transfer (REST) 是一种架构原则,其中将 web 服务视为资源,可以由其 URL 唯一标识.RESTful Web 服务的关键 ...

  7. java开发中遇到的问题及解决方法(持续更新)

    java开发中遇到的问题及解决方法(持续更新) 参考文章: (1)java开发中遇到的问题及解决方法(持续更新) (2)https://www.cnblogs.com/LiuYanYGZ/p/6112 ...

  8. Java开发中Websocket的技术选型参考

    1. 前言 Websocket是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据 ...

  9. Java开发中文件读取方式总结

    JAVA开发中,免不了要读文件操作,读取文件,首先就需要获取文件的路径.路径分为绝对路径和相对路径. 在文件系统中,绝对路径都是以盘符开始的,例如C:abc1.txt. 什么是相对路径呢?相对路径就是 ...

最新文章

  1. ASP.NET TricksTip:关于Tooltip(title)的换行问题
  2. Django Cache缓存系统介绍及Memcached使用
  3. C#调用 Halcon引擎执行代码
  4. 机器学习常见损失函数
  5. C++——面向对象设计原则
  6. vue的双向数据绑定的原理
  7. 《深入理解 Spring Cloud 与微服务构建》第一章 微服务简介
  8. 在java中使用solrj对solr进行CRUD
  9. 【PAT】2020年秋季考试划水准备贴
  10. matlab学习--语言基础
  11. 算法面试:精选微软经典的算法面试100题(第21-25题)
  12. R语言二进制grd文件读取合并导出
  13. VB.net单exe文件内MP3和WAV音乐文件播放
  14. js获取本周日期和上周日期
  15. sketch html尺寸,sketch教程 | 设置常用画板尺寸
  16. PHP实现简单计算器
  17. codeforces EDU suffix array
  18. 小米业绩再创季度新高,股价或再次上涨,米粉或实现赚一倍的愿望
  19. 管理学定律五:二八定律与木桶理论
  20. 英飞凌基础学习笔记-SCU(System Control Units)

热门文章

  1. 旧衣处理物的隔音棉,不但不隔音,还会有其他严重危害
  2. 前端JavaScript年度个人总结
  3. vivo手机中误删的照片怎么恢复?快速找回的方法!
  4. 将xls表格数据转为点数据(1)
  5. 至尊影视管理系统源码/自带首涂四套影视模板
  6. 2022年河南省高等职业教育技能大赛软件测试赛项竞赛方案
  7. 计算机动画顺序在哪里设置,Keynote动画顺序怎么设置 Keynote动画顺序设置教程
  8. 我的创作纪念日 · 2023年1月17日
  9. 加班工资举证责任的承担
  10. 图像滤镜艺术---(Punch Filter)交叉冲印滤镜