从R加载~10k的记录到MariaDB,性能良好



我看到了300倍的性能损失,这取决于我使用的驱动程序,并且在shinyapps.io上无法使用快速的驱动程序。

我正在使用readr::read_csv读取CSV到标题,然后使用dbWriteTable()将其上传到我的MariaDB数据库。如果我使用odbc::odbc()与最新的MariaDB连接器,它需要1-2秒来加载6000条记录,这是伟大的。但是,该连接器在shinyapps上不可用。Io,这是我的应用程序将部署的地方。可用的MariaDB驱动程序有1)odbc,带MySQL连接器,或2)RMariaDB驱动程序。当我使用这些驱动程序中的任何一个(在本地或在shinyapps上运行)时,相同的负载需要8-10 分钟!

有更快的方法吗?我的Shiny应用程序允许用户选择要上传的CSV文件,其中最大的将是10-15k行。RMariaDB包维护者建议在连接到数据库时使用load_data_local_infile = TRUE,但是我的主机提供商禁用了该功能。(

任何建议都将非常感谢!马特

我用odbc()驱动程序和MySQL连接器从dbWriteTable()切换到DBI::sqlAppendTable,它很快(1秒6000行)。

最新更新