目前,我正在构建一个闪亮的应用程序,使用对PostgreSQL数据库的几个查询(主要是SELECT和INSERT语句)。这个应用程序可以工作,但我正在设法使它更快。当我比较使用RPostgreSQL包的同一个查询与诸如Postico这样的db客户机之间的执行时间时,RPostgreSQL包的执行次数要多8倍。
对于如何提高性能或从R连接到PostgreSQL数据库有什么想法吗?
谢谢
发布于 2018-08-25 20:50:05
您听说过包dbplyr (与b一起使用)吗?
我推荐它,因为这个包使您的dplyr (没有b)可以与SQL数据库一起使用。
有许多优点,因为您与数据库交互的方式将发生变化。
从这里:

to此文:

这些图像是从埃德加·鲁伊斯( Edgar,2017)的一篇题为“”数据库使用R"“的伟大文章中提取出来的。您应该看看它,这里,以获得更多细节。
鲁伊斯先生提出的主要优点有:
“1)对所有数据进行数据探索--而不是想出一个计划来决定要导入哪些数据,我们可以专注于分析数据库中的数据,这反过来会产生更快的洞察力。
2)使用SQL引擎运行数据转换-实际上,我们将计算推送到数据库,因为dplyr将SQL查询发送到数据库。
3)收集目标数据集--在熟悉数据并选择将共享或建模的数据点之后,最后的查询将只用于将该数据带回R中的内存。
4)您的所有代码都在R!中--因为我们使用dplyr与数据库通信,因此不需要更改语言或工具来执行数据探索。“
因此,您可能会通过dbplyr**/**dplyr.获得所需的速度。
你应该试一试。
您可以在以下站点找到有关它的更多信息以及如何使用PostgreSQL DBI包与您的服务器建立连接:
https://cran.r-project.org/web/packages/dbplyr/vignettes/dbplyr.html
和
https://stackoverflow.com/questions/52020930
复制相似问题