IS
purrr::walk
или просто data.table
. В постановке 'снизить нагрузку на сервер БД' задача принципиально однопоточная и последовательная.2.
data.frame
разбивается на чанки. Можно делать это 100500 способами, один из простейших: row_number() %/% 100000
3. В подходе data.table
можно как-то так:dt[, chunk := .I %/% 100000][, writeChunk(.SD), by = chunk]где
writeChunk(){.......; NULL}
пишет кусок таблицы в базуhttps://rdatatable.gitlab.io/data.table/index.html