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.
Hatalı
Bölüm başlığı “Hatalı”var users []Userdb.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})Düzeltme
Bölüm başlığı “Düzeltme”Büyük sonuç kümelerini FindInBatches gibi bir parçalı/akış API’siyle dolaşarak bellek kullanımını sınırlayın.