我正在尝试使用RJDBC在R中进行批量插入。看起来它一次插入一行需要花费很多时间。
我想知道是否有人知道R中的解决方案从R到SQL批量插入数据。我知道RODBC可以进行参数化插入,这种插入很快但不如批量插入快。
答案 0 :(得分:-1)
我不知道你的" R"语言,但在sqlExe中有一个BULK sql语句。
sqlExe是一个通过ODBC连接到SQL数据库的实用程序,它将执行任何有效的SQL,还有一些附加功能(http://sourceforge.net/projects/sqlexe/)
例如,假设目标表是:
table: [mydata]
-------------------
row_id char(1)
row_idx integer
row_desc char(32)
要使用sqlExe执行插入任务,您可以使用输入准备一个文件:
input.dat
a,1,this is row 1
b,2,this is row 2
c,3,this is row 3
d,4,this is row 4
要导入的命令行:
sql --dsn MYDB -e "BULK INSERT input.dat, INSERT INTO mydata(row_id,row_idx,row_desc) VALUES(?,?,?)"