我正在使用带有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()
为什么?
答案 0 :(得分:0)
这是因为MySQL等待所有结果返回给用户之前。像Oracle和Postgres这样的数据库支持允许批量返回结果的持有者。然后,我们可以将结果以块的形式返回给用户。