我有一个使用Oracle作为数据库的Grails 2.4.3应用程序.
有一个叫做User的类:
class User {
String userName = ""
String userPassword = ""
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,我使用以下代码查找所有用户名.
def names = []
User.list().each {
names << it.userName;
}
Run Code Online (Sandbox Code Playgroud)
Oracle数据库中有数千个User实例.所以上面获取所有userName的方法需要几秒钟才能执行.
我想让它更快.是否有更快的方式来访问类属性?
与上面的实现不同list(),using where应该是高效的,因为它只userName在结果列表中进行项目而不是从db中检索所有用户然后收集userName
def names = User.where { }.projections { property 'userName' }.list()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |