java - DDL View 的 jooq 等价物是什么?

标签 java sql sql-view jooq

我有一个正在运行的应用程序,现在实现为少数 View ,以及一些依赖于 View 的 jooq 查询

为什么不将整个层移动到 jooq 中?也就是说,在 jooq 中执行 View ?这样做的明智方法是什么?性能影响是什么?

最佳答案

jOOQ 中有一个待处理的低优先级功能请求,以支持用 jOOQ 编写的 View :

您已经可以通过扩展 jOOQ 创建与数据库 View 等效的内容:

根据您的数据库,将 View 代码从数据库向上移动到应用程序层可能确实会对性能产生轻微影响,因为数据库无法再收集(命名) View 的统计信息。但是,很少有数据库真正做到这一点,除非您创建物化 View 。

在 Java 中保留使用 jOOQ 编写的 View 的优点是:

  • 更容易迁移。您不必编写 DDL 即可在不同版本的应用程序之间迁移 View
  • 将高级 jOOQ 功能应用于 View 。例如,如果需要,您可以通过 jOOQ 的 SQL transformation SPI 转换 View 的 SQL。 .

关于java - DDL View 的 jooq 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20693045/

相关文章:

mysql - MySQL 中何时使用单引号、双引号和反引号

mysql - 如果存在具有此列的 View ,如何防止表列更改?

java - 如何滚动我的 JPanel

c# - 无法为表中的标识列插入显式值

php - CodeIgniter:第一个查询成功运行,第二个查询无法更改数据库。相同的值,不同的表

sql-server - 使用 select * 创建 View

postgresql - 全文搜索没有结果

java - 使用 Selenium、TestNG、java 的 Arraylist 推送动态表行

java - Apache POI : Issue during setting foreground color in conditionalFormatting with SOLID_FILL pattern

java - 继承场景下引用和对象的关系