İçeriğe geç

Parçalanmamış Büyük Sonuç (ARCH5062)

Anahtar go.orm.large-result-not-chunked · Önem info · Kategori orm

Tüm büyük sonuç kümesini belleğe yükleyip dolaşmak milyonlarca satırı aynı anda tutar. Parçalı/akış API’si ile işleyin.

var users []User
db.Find(&users)
for _, u := range users {
process(u)
}
db.FindInBatches(&[]User{}, 1000, func(tx *gorm.DB, batch int) error {
for _, u := range *tx.Statement.Dest.(*[]User) {
process(u)
}
return nil
})

Büyük sonuç kümelerini FindInBatches gibi bir parçalı/akış API’siyle dolaşarak bellek kullanımını sınırlayın.