
任何人都可以向我解释这两种groovy sql方法的区别
sql.eachRowsql.rows
还有哪些更有效率?
我正在处理从数据库检索数据的应用程序(结果集非常巨大),并将其写入CSV文件或返回JsON格式.
我想知道上面提到的两种方法中的哪一种用于使过程更快更有效率.
解决方法Can anyone please explain to me the
difference between these two groovy
sql methods sql.eachRow sql.rows
很难说出你所指的哪两种方法2,因为每个方法都有大量的重载版本.然而,在所有情况下,everyRow什么都不返回
voID eachRow(String sql,Closure closure)
而行返回一列行
List rows(String sql)
所以如果你使用eachRow,那么作为第二个参数传入的闭包应该处理每一行,例如
sql.eachRow("select * from PERSON where lastname = 'murphy'") { row -> println "$row.firstname"} 而如果您使用行,则返回行,因此应由调用方处理.
rows("select * from PERSON where lastname = 'murphy'").each {row -> println "$row.firstname" } Also,which is more efficIEnt?
这个问题几乎无法回答.即使我自己实施了这些方法,也不可能知道哪一种对你来说会更好,因为我不知道
>你正在使用什么硬件
>您要定位的JVM
>你正在使用什么版本的Groovy
>你将要通过什么参数
>这种方法是否是应用程序性能的瓶颈
或影响方法性能的任何其他因素,这些因素不能仅从源代码确定.您可以通过测量每个方法的性能,为您提供哪种方法更有效的问题的唯一方法.
尽管我上面说过的一切,如果这两者之间的表现差异是非常重要的,我会感到惊讶,所以如果我是你,我会选择哪一个你找到更方便.如果稍后发现这种方法是一个性能瓶颈,请尝试使用另一个方法(但我敢打赌你一美元到一角钱,这没有什么区别).
总结以上是内存溢出为你收集整理的groovy sql eachRow和rows方法全部内容,希望文章能够帮你解决groovy sql eachRow和rows方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)