我有一个正在运行的应用程序,现在实现为少数 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/