sql - 在 R 中批量插入

标签 sql sql-server r jdbc odbc

我正在尝试使用 RJDBC 在 R 中进行批量插入。看起来它一次插入 1 行,这需要很多时间。

我想知道是否有人知道 R 中的解决方案可以将数据从 R 批量插入到 SQL。我知道 RODBC 可以进行参数化插入,速度很快,但不如批量插入快。

最佳答案

我不知道你的“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(?,?,?)"

关于sql - 在 R 中批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16348159/

相关文章:

mysql - 数据库规范化——相同字段,不同表

mysql - 如何从多个表中按最新日期记录排序?

sql - 使用 SQL Server 在 UNION 中过滤重复项

r - 如何根据多个条件对行求和 - R?

r - RStudio 和 R 中波浪号扩展的区别

sql - 计算多对多的出现次数

javascript - jQuery,如何正确查找 HTML 中父元素的元素类型

c# - 使用 Linq to Entities 在一次操作中获取 COUNT 和 SKIP TAKE

SQL 很好地检索树结构

r - 如何使cowplot小网格线成为标准ggplot默认软灰色,而不是纯黑色