【发布时间】:2017-11-01 11:17:14
【问题描述】:
我正在使用以下代码将新表上传到 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,000 行上传到 MySql 需要 90 多分钟。有没有更有效的方法将数据上传到 MySql。我最初尝试过dbWriteTable(),但这会导致错误消息提示与数据库的连接丢失。
【问题讨论】:
-
是的,它们对应的命令行加载器通常推荐用于 MySQL、PostgreSQL 等,因为进程批量更新比(可能逐行)操作
sqlSave()或 @ 更好987654324@.