我需要在同一台计算机(Ubuntu 64 位,16GB RAM)上将大型 data.table 写入 PostgreSql 表。
在发送以下命令之前,系统监视器显示 47% Memory used (3% Swap),但在长时间运行 dbWriteTable 的中间,它达到了 99% Memory 和 49% Swap。
library(data.table)
library(RPostgreSQL)
my.df <- data.frame(my.dt)
rm(my.dt)
dbWriteTable(con, name="tableindb", value=my.df)
该表主要有数字列,但也有时间(Posix)和一些字符列。
如何避免这种大 RAM 的使用?1 小时后,dbWriteTable-command 仍在运行...