将约10k条记录从R加载到MariaDB,性能良好

z4bn682m  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(131)

我看到了300倍的性能损失,这取决于我使用的驱动程序,而快速的驱动程序在shinyapps.io上不可用。
我正在使用readr::read_csv将CSV读入tibble,然后使用dbWriteTable()将其上传到我的MariaDB数据库。如果我使用odbc::odbc()和最新的MariaDB连接器,加载6000条记录需要1-2秒,这很棒。但是,该连接器在www.example.com上不可用shinyapps.io,而我的应用程序将在www.example.com上部署。可用的MariaDB驱动程序有1)odbc,带有MySQL连接器,或2)RMariaDB驱动程序。当我使用这两种驱动程序中的任何一种(在本地或在shinyapps上运行)时,同样的负载需要8-10 * 分钟 *!
有没有更快的方法?我的Shiny应用程序允许用户选择上传CSV文件,最大的可以上传10- 15 k行。RMariaDB软件包维护者建议在连接到数据库时使用load_data_local_infile = TRUE,但我的主机提供商禁用了该功能。:(
任何建议都将不胜感激!马特

soat7uwm

soat7uwm1#

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

相关问题