何时使用查询或代码[关闭]

2023-11-26

我要求提供 Java + JPA / Hibernate + Mysql 的具体案例,但我认为您可以将这个问题应用于很多语言。

有时我必须对数据库执行查询才能获取某些实体,例如员工。假设您需要一些特定的员工(名字为“John”的员工),您是否愿意执行返回这组确切员工的查询,或者您愿意搜索所有员工,然后使用编程语言来检索您感兴趣的是什么?why(轻松、高效)? 哪个(一般来说)更有效?

根据表的大小,一种方法是否比另一种更好?

考虑到:

  • 两种情况下的复杂性和可重用性相同。

始终对数据库进行查询。如果不这样做,您必须将更多数据复制到客户端,并且编写数据库以有效过滤数据,几乎肯定比您的代码更有效。

我能想到的唯一例外是,如果过滤条件计算复杂,并且您可以将计算分散到比数据库更多的 CPU 能力上。

在我有一个数据库的情况下,服务器比客户端拥有更多的 CPU 能力,因此除非超载,否则只会更快地运行相同数量的代码的查询。

此外,您必须编写更少的代码来使用 Hibernate 查询语言对数据库进行查询,而不是编写代码来操作客户端上的数据。 Hibernate 查询还将利用配置中的任何客户端缓存,而无需编写更多代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时使用查询或代码[关闭] 的相关文章

  • 如何将可视选择的文本通过管道传输到 UNIX 命令并将输出附加到 Vim 中的当前缓冲区

    使用 Vim 我尝试将在可视模式下选择的文本通过管道传输到 UNIX 命令 并将输出附加到当前文件的末尾 例如 假设我们有一个 SQL 命令 例如 SELECT FROM mytable 我想做如下的事情
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 更改迁移中的自动​​增量值(PostgreSQL 和 SQLite3)

    我有一个托管在 Heroku 上的项目 想要更改表的自动增量起始值 我在本地使用 SQLite3 Heroku 使用 PostgreSQL 这是我在迁移中所拥有的 class CreateMytable lt ActiveRecord Mi
  • Oracle:使用SQL或PL/SQL查找动态SQL中的错误位置

    如何在 PL SQL 或 SQL 中找到动态 SQL 语句中的错误位置 从 SQL Plus 中 我看到了错误的位置 例如 无效的 SQL DML 语句 SYS orcl gt SELECT 2 X 3 FROM 4 TABLEX 5 TA
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • 在 SQL 数据库中存储“列表”的最正确方法是什么?

    因此 我读了很多关于如何将多个值存储到一个列中是一个坏主意 并且违反了数据标准化的第一条规则 令人惊讶的是 这不是 不要谈论数据标准化 所以我需要一些帮助 目前我正在为我工 作的地方设计一个 ASP NET 网页 我想根据此人所属的 Act
  • 单独的逗号分隔值并存储在sql server的表中

    我有一个存储过程 它将逗号分隔的值作为输入 我需要将其分开并需要将其作为单独的行存储在表中 令 SP 的输入为 Rule ID ListType ID Values 1 2 319 400 521 8465 2013 我需要将它存储在一个名
  • 初级SQL部分:避免重复表达式

    我对 SQL 完全陌生 但我们可以说StackExchange 数据浏览器 https data stackexchange com 我只想按信誉列出前 15 位用户 我写了这样的内容 SELECT TOP 15 DisplayName I
  • MySQL 查询到 CSV [重复]

    这个问题在这里已经有答案了 有没有一种简单的方法来运行MySQL查询来自linux命令行并以csv格式输出结果 这就是我现在正在做的事情 mysql u uid ppwd D dbname lt lt EOQ sed e s g tee l
  • 如何 md5 所有列(无论类型如何)

    我想创建一个 sql 查询 或 plpgsql 它将 md5 所有给定的行 无论类型如何 但是 在下面 如果 1 为空 则哈希为空 UPDATE thetable SET hash md5 accountid accounttype cre
  • 内连接不重复,可以吗?

    鉴于这两个表 表 A1 有两行具有相同的值 a A1 a a 表 A2 有两行主键值为 A B 它们与 a 关联 A2 PK col2 A a B a 我想要的是 A1 和 A2 的连接并得到这个结果 a A a B 显然内连接在这里不起作
  • 为表中的每个组选择前 N 行

    我面临一个非常常见的问题 即 为表中的每个组选择前 N 行 考虑一个表id name hair colour score列 我想要一个结果集 对于每种头发颜色 都能得到前 3 名得分手的名字 为了解决这个问题 我得到了我所需要的Rick O
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • Google BQ:运行参数化查询,其中参数变量是 BQ 表目标

    我正在尝试从 Linux 命令行为 BQ 表目标运行 SQL 此 SQL 脚本将用于多个日期 客户端和 BQ 表目标 因此这需要在我的 BQ API 命令行调用中使用参数 标志 parameter 现在 我已经点击此链接来了解参数化查询 h
  • 如何在NiFi中映射流文件中的列数据?

    我有 csv 文件 其结构如下 Alfreds Centro Ernst Island Bacchus Germany Mexico Austria UK Canada 01 02 03 04 05 现在我必须将这些数据移入数据库 如下所示
  • SQL 国家字符 (NCHAR) 数据类型的真正用途是什么?

    也CHAR CHARACTER and VARCHAR CHARACTER VARYING SQL 提供了NCHAR NATIONAL CHARACTER and NVARCHAR NATIONAL CHARACTER VARYING 类型
  • MS ACCESS 计数/求和行数,不重复

    我有下表 我需要计算总行数而不包括任何重复记录 CustomerID test1 test1 test2 test3 test4 test4 如您所见 总行数为 6 但有两个 test1 和两个 test4 我希望查询返回 4 IOW 我想

随机推荐

  • 如何在 JSON 中显示带有尾随零的 BigDecimal 数字(而不是字符串)?

    在我的表示响应中 我有一个 BigDecimal 类型的字段 它的值为 2 30 但 json 响应将其显示为 2 3 有没有办法同时显示尾随零 而不将其显示为字符串 顺便说一句 我正在使用杰克逊库 version 2 3 needs to
  • 还有一个“无法加载文件或程序集......或其依赖项之一。系统找不到指定的文件”

    我有一个带有 NUnit 测试的 dll 运行良好 我将其从 Any CPU 转换为 x86 项目 因为我需要跨不同平台可靠地使用 SQLite 因此我需要包含 32 位 System Data SQLite dll 并让所有内容都引用它
  • 像 iPhone 上的地址簿排序一样对 NSString 的 NSArray 进行排序

    我有一个字符串数组 名称 我想像 iPhone 上的地址簿对它们进行排序一样对它们进行排序 例如 li gt E 下 例如 li gt A 下 例如 4li gt 在 下 有什么建议么 您需要对字符串执行不区分变音符号的比较 NSStrin
  • 对卷积神经网络中 1D、2D 和 3D 卷积的直观理解[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 谁能通过示例清楚地解释卷积神经网络 深度学习中 中 1D 2D 和 3D 卷积之间的区别 我想用图片来解释C3D 简而言之 卷积方向 输出形状很重要 一维卷积 基础 just 1 计
  • getView() 返回 null

    我基本上有一个AsyncTask 从主运行Activity 填充一个ViewPager在一个片段内 我正在膨胀 xml 布局文件来填充ViewPager 问题是我无法获取指向布局内视图 imageview textview 的指针 以便我可
  • Android Deeplink pathPrefix 属性被忽略

    我在清单文件中为我的 Android 应用程序定义了一个深层链接
  • 如何在MVC中使用bootstrap modal编辑表格数据?

    我在 MVC 视图中有一个表 显示员工详细信息 我想添加编辑功能 但我不想在新页面中打开它 而是想使用引导模式来显示它 http twitter github com bootstrap javascript html modals 我认为
  • 在 Swing 应用程序中显示 HTML 表单并与之交互

    一个应用程序生成一些HTML 页面应该显示在应用程序本身中 These HTML 页面含有一些forms用户将使用它来输入一些值 到目前为止我已经用过文本窗格这使得HTML完美 但我不知道如何与表单交互以检索用户输入的值 是否可以使用 JT
  • 为什么 File.ReadAllBytes 结果与使用 File.ReadAllText 时不同?

    我有一个内容为 test 的文本文件 UTF 8 编码 我尝试从该文件中获取字节数组并将其转换为字符串 但它包含一个奇怪的字符 我使用以下代码 var path C Users Tester Desktop test test txt UT
  • Java javax.swing.Timer 在新线程上运行吗?

    我正在使用 javax swing Timer 来安排和运行事件 但它似乎冻结了 GUI 只是想知道这些事件是否在单独的线程上运行 或者我是否必须自己执行 Thanks 尽管所有 Timer 使用单个共享线程 由第一个执行的 Timer 对
  • Py4JJavaError:调用 o1670.collectToPython 时发生错误

    我正在尝试将 Spark RDD 转换为 Pandas DataFrame 我使用 csv 文件作为示例 该文件有 10 以下是前 3 行 可堆叠储物架的 Eldon 底座 铂金 Muhammed MacIntyre 3 213 25 38
  • 为什么 .NET 正则表达式和 Visual Studio 的正则表达式之间存在差异?

    我终于找到了对 Visual Studio 的引用查找和替换的正则表达式 and NET的正则表达式包 现在出于病态的好奇心 我想知道 为什么有区别 我确信有技术 历史或可用性方面的原因 但这让bajeepers感到困惑 sp 一开始就对我
  • 如何包含另一个php文件?

    我有一个 php 文件 我想包含另一个具有 css 链接标签和 javascript 源标签的 php 文件 但是当我尝试包含它们时 它不会添加到页面中 我的 php 页面 通用 php 有谁知道出了什么问题吗 谢谢 PHP s inclu
  • 合并两个数据框的所有组合

    我遇到了一个复杂的问题 我有两个数据框 其中有一种编号和规格 颜色 零件 的组合 每个数据框适用于 4 台不同的机器 每台机器总共有 5 个规格 实际上甚至更多的机器和规格 以下是两个示例数据框 df1 lt data frame nr c
  • 弧形画廊的可能性

    是否可以更改 Android Gallery 的默认排列 我的意思是我们能否将图库制作成一条弯曲的路径 其中图像将沿着弯曲的路径移动 同时它具有Android图库的所有属性 如果可以的话 请告诉我你的想法 欢迎所有想法 感谢和问候 森 扩展
  • 为什么cudaMalloc()使用指针到指针?

    例如 cudaMalloc void device array num bytes 这个问题已经被asked之前 回复是 因为cudaMalloc返回错误代码 但我不明白 双指针与返回错误代码有什么关系 为什么简单的指针不能完成这项工作 如
  • 仅更改 NSAttributedString 的字体大小

    我有一个NSAttributedString它是从 RTF 文件加载的 因此它已经保存了不同范围的多个字体属性 现在我想让字体大小适应设备的屏幕大小 但是当我添加具有新大小的全新字体属性时 其他字体消失了 有办法改变吗only整个字符串的字
  • 在任何兼容版本下都无法启动WiredTiger。这可能是由于不支持的升级或降级造成的

    在 Ubuntu 20 04 上出现此错误 我最初在 ubuntu 上安装了默认版本 3 0 6 我已经清除它并安装了5 0 9 但现在我在日志中收到此错误 并且 mongod 无法启动 Failed to start up WiredTi
  • Pandas 按年份透视时间序列

    您好 提前感谢您的帮助 我有一个包含两列的简单数据框 我没有明确设置索引 但我相信数据帧会获得一个整数索引 我在输出的左侧看到该索引 问题如下 df pandas DataFrame res df columns date pb df da
  • 何时使用查询或代码[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我要求提供 Java JPA Hibernate Mysql 的具体案例 但我认为您可以将这个问题应用于很多语言 有时我必须对数据库执行查询才能获取某些实体 例如员工 假设您需要一些特定的