Grails:查找类属性需要时间

don*_*y76 1 grails

我有一个使用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的方法需要几秒钟才能执行.

我想让它更快.是否有更快的方式来访问类属性?

dma*_*tro 5

与上面的实现不同list(),using where应该是高效的,因为它只userName在结果列表中进行项目而不是从db中检索所有用户然后收集userName

def names = User.where { }.projections { property 'userName' }.list()
Run Code Online (Sandbox Code Playgroud)