1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiaochengtech-dbsync

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
update_multi.go 716
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Xiaosong Gao Отправлено 24.04.2020 20:45 8c8493f
package dbsync
// 插入多条数据时的配置信息
type UpdateMultiOptions struct {
UpdateOptions
BatchCount int // 一次批量插入的条数,用于加快执行速度
}
// 插入多条增量更新的数据
func DoUpdate(
db SQLCommon,
tableName string,
data [][]interface{},
options UpdateMultiOptions,
) (err error) {
dataLen := len(data)
for i := 0; i < (dataLen-1)/options.BatchCount+1; i++ {
offset := options.BatchCount * i
var piece [][]interface{}
if offset+options.BatchCount > dataLen {
piece = data[offset:]
} else {
piece = data[offset : offset+options.BatchCount]
}
if err = update(db, tableName, piece, options.UpdateOptions); err != nil {
return
}
}
return
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xiaochengtech-dbsync.git
git@api.gitlife.ru:oschina-mirror/xiaochengtech-dbsync.git
oschina-mirror
xiaochengtech-dbsync
xiaochengtech-dbsync
master