java - 在 SQL 或 Java 中过滤数据?

标签 java sql filter

<分区>

过滤数据的一般准则/规则是什么?我习惯于在 WHERE 子句中的 SQL 语句中看到过滤器,尽管有时过滤器会给 SQL 带来复杂性,使其变得庞大并且乍一看对于中级开发人员来说很难阅读,但是写得很好的看起来很复杂是经过精心调整和优化的。过滤也可以在 Java 中完成,但这当然有一个缺点,即来自 SQL 的未过滤数据可能很大,将其加载到内存中只是为了过滤掉它可能是一种浪费。当然,如果您有多个数据源作为过滤器所需的依赖项,那么您别无选择,只能在 Java 中进行过滤。

最佳答案

尽可能在后端 (sql) 上进行过滤。如果这使初级开发人员的查询过于复杂,那就这样吧。虽然代码的清晰度很重要,但您不应根据初级开发人员对代码的理解程度来做出设计决策——他能够使用它就足够了。

在谈论不同层时尤其如此,您的初级开发人员可能不知道任何 SQL,那么您会完全避免使用 SQL 后端吗?

编写您的 SQL 时要尽可能清晰(不牺牲性能),但这样做的前提是维护它的人会熟悉 SQL 以及应该如何使用它。当像这样跨层时,一点点“更容易理解”真的会降低你的性能(从数据库中拉回数据以更新它,可能比更新数据库花费数千倍的时间,游标的不当使用会比基于集合的解决方案更差)。

关于java - 在 SQL 或 Java 中过滤数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7976374/

相关文章:

javascript - 获取具有与查询匹配的属性值的另一个对象中对象的所有键

java - PHP OOP 是否遵循过程式编程方法

mysql - 在查询中使用 except 时出现语法错误

java - 从另一个项目调用 JDialog?

javascript - Postgres 相当于 MySQL 的 SET?

mysql - 如何获取具有 ROUND 值的 DateTime?

javascript - 通过 Javascript 中的角色数组过滤用户对象数组

Observable 中的过滤器无法应用于 Rxjava 2 中的 Function Boolean

java - 使用 Java 从文件中提取所有 HTML 标签,包括结束标签,而无需使用 Jsoup 等外部库

java - Activity 机器人 :label change application name