我正在使用以下代码将新表上载到mysql数据库中。有没有更快的方式将数据从R上传到MySql?
library(RMySql)
library(RODBC)
con <- dbConnect(MySQL(),
user = 'user',
password = 'pw',
host = 'amazonaws.com',
dbname = 'db_name')
dbSendQuery(con, "CREATE TABLE table_1 (
var_1 VARCHAR(50),
var_2 VARCHAR(50),
var_3 DOUBLE,
var_4 DOUBLE);
")
channel <- odbcConnect("db name")
sqlSave(channel, dat = df, tablename = "tb_name", rownames = FALSE, append =
TRUE)
完整的数据集是68个变量和500万行。将50万行上传到MySql需要90多分钟的时间。有没有更有效的方式将数据上传到MySql?我最初尝试dbWriteTable()
,但这会导致一条错误消息,指出与数据库的连接已丢失。
是的,它们对应的命令行装载机经常推荐用于MySQL和PostgreSQL,...作为过程批量更新更好(可能是逐行)操作'sqlSave()'或'dbWriteTable()'。 –