Jacklove54678 的个人博客 / 4 / 3 / 创建于 3年前
如题,我看了下gorm的源码query是把所有数据都获取了,存在内存操作的,如果数据量特别大,内存存不下,就需要流式操作,但是我查资料没有找到golang的流式操作方式,请各位大佬指点一下,十分感谢
本作品采用《CC 协议》,转载必须注明作者和本文链接
// 每次批量处理 100 条 result := db.Where("processed = ?", false).FindInBatches(&results, 100, func(tx *gorm.DB, batch int) error { for _, result := range results { // 批量处理找到的记录 } tx.Save(&results) tx.RowsAffected // 本次批量操作影响的记录数 batch // Batch 1, 2, 3 // 如果返回错误会终止后续批量操作 return nil }) result.Error // returned error result.RowsAffected // 整个批量操作影响的记录数
这个吗?
朋友说原生就是流式
你存的文件?
我要举报该,理由是:
这个吗?
朋友说原生就是流式
你存的文件?