GORM简单查询但非常慢

时间:2015-05-19 06:40:22

标签: mysql grails gorm grails-domain-class grails-2.3

我正在使用带有mysql数据库的grails 2.3.8。我有这个域类,有200,000条记录。检索需要18秒。

class Alert {
    Long id
    int recorded_at
    int responded_at
    String source_name
    String source_type
    String check_name
    String label
    String priority 
    String status
    String message
    String remarks
    Date dateCreated 
    Date lastUpdated 

    static mapping = {
        table "alerts"
        version false
        dateCreated column: "created_at" 
        lastUpdated column: "updated_at"    
        message type: "text"
        remarks type: "text"
        recorded_at index: 'Recorded_Atx'
        //sort recorded_at: "desc"
    }

    static constraints = {
        responded_at(nullable:true)
        message(nullable:true)
        remarks(nullable:true)
    }
}

 def alerts = Alert.findAll()

为什么?

1 个答案:

答案 0 :(得分:0)

这是因为MySQL等待所有结果返回给用户之前。像Oracle和Postgres这样的数据库支持允许批量返回结果的持有者。然后,我们可以将结果以块的形式返回给用户。