我想用jooq我的java web项目简单的SQL任何性能的领先,因为从它的规格看起来简单和良好的查询生成器,但它拥有简单的查询或JAVA编写的语句任何性能增益。是否jooq拥有在Java中
3
A
回答
3
不,它不提供性能增益。 JOOQ本身通过JDBC与数据库通信(并使用预准备语句)并且不包含缓存,所以它不能比直接通过JDBC执行查询更快。
5
有正在进行的(未发表)的基准检查在jOOQ瓶颈和一般的性能问题。最近发现的问题的例子可以看这里:
https://github.com/jOOQ/jOOQ/issues/1625
由于Mikko stated as well,jOOQ不能击败直接传递给JDBC静态SQL字符串,因为你总是会有的开销:
- 构建jOOQ对象
- 遍历jOOQ对象进行渲染SQL
- 与SQL创建
PreparedStatement
- 遍历jOOQ对象绑定变量,它们结合到
PreparedStatement
如果性能是在您的环境至关重要,我建议你不要让jOOQ执行这些步骤对每个查询执行。相反,让jOOQ渲染SQL一次并自己缓存SQL字符串,以及对可重用的PreparedStatement
的引用。但是,如果您不使用内存数据库(如H2),那么我们在此讨论微型优化,如基准所示。我们正在讨论每个查询获得1ms的时间间隔<。
相关问题
- 1. 在Java Swing中是否有必要始终拥有一个Container?
- 2. 枚举是否允许在Java中拥有setter?
- 3. 是否有在Java中
- 4. 在java中是否有“createObject”?
- 5. 是否有必要在UITableViewCell子类中拥有实例变量?
- 6. ViewModel在WPF中拥有ViewModel的集合是否有意义?
- 7. 是否有可能在Android中拥有“可选”权限?
- 8. 是否有可能在Tomcat服务器中拥有XMPP模块?
- 9. 是否有可能在PHP中同时拥有两个类?
- 10. 是否有可能在PostgreSQL中拥有一个hstore数组
- 11. 是否有在Java
- 12. CTLineRef是否拥有属性字符串?
- 13. QToolBox是否拥有它的物品?
- 14. JooQ的Loader <?>的.commit *()或.batch *()方法是否在TransactionalRunnable中?
- 15. 是否可以在TD中拥有DIV而不占用列
- 16. 是否允许在页面中拥有多个document.ready?
- 17. 调解员是否必须在PureMvc中拥有一个视图?
- 18. 如何使用JOOQ检查WHERE子句条件是否有效?
- 19. 如何判断最终用户是否拥有Java中的声卡?
- 20. 是否有必要拥有<section>标题在HTML5
- 21. jOOq MERGE在Oracle中
- 22. 是否有可能在Java
- 23. Java中是否有File.AppendAllText()?
- 24. Java中是否有Panel Listener?
- 25. Java中是否有秒表?
- 26. 在java中使用createBufferStrategy()时,是否有助于拥有两个以上的缓冲区?有缺点吗?
- 27. 在Java中是否有TweenMax等价物
- 28. 是否有代表在Java中
- 29. 在Java中是否有多输入JOptionPane?
- 30. 是否有可能在Java中