class Book {
...
static mapping = {
batchSize 10
}
}
batchSize
目的
在惰性加载期间自定义获取的数量。
示例
描述
用法:batchSize(integer)
在一个惰性关联(一个 Author 拥有多个 Book 实例)下,GORM 会对 Author 执行一个查询,并在关联 Book 实例上执行附加查询。这被称为 N+1 问题,经常可通过使用连接查询来解决。但是,连接可能很昂贵。
批量获取是对惰性加载的一种优化,例如,如果你将 batchSize 设置为 10,并且有一个 Author 拥有 30 本书,则你将获得 4 个查询(一个用于 Author,三个用于 10 本书的批量),而不是 31 个查询
static mapping = {
batchSize 10
}
你还可以针对每个关联配置 batchSize
class Author {
static hasMany = [books: Book]
static mapping = {
books batchSize: 10
}
}