gpt4 book ai didi

r - RPostgreSQL 中的查询非常慢

转载 作者:行者123 更新时间:2023-11-29 11:49:02 27 4
gpt4 key购买 nike

目前我正在构建一个 Shiny 的应用程序,使用对 PostgreSQL 数据库的多个查询(主要是 SELECT 和 INSERT 语句)。该应用程序有效,但我正在努力使其更快。当我比较使用 RPostgreSQL 包和数据库客户端(如 Postico)的同一查询的执行时间时,使用 RPostgreSQL 包花费的时间是后者的 8 倍。

关于提高性能或从 R 连接到 PostgreSQL 数据库的方法有什么想法吗?

谢谢

最佳答案

您听说过 dbplyr 包(带有 b)吗?

我会推荐它,因为这个包可以让您的 dplyr(没有 b)与 SQL 数据库一起使用。

因为您与数据库交互的方式将发生变化,所以有很多优势

来自这里:

enter image description here

对此:

enter image description here

这些图片摘自 Edgar Ruiz(2017 年)题为“使用 R 的数据库” 的精彩文章。你应该看看它HERE了解更多详情。

Ruiz 先生提出的主要优势是,我引用:

" 1) 对所有数据进行数据探索 - 无需制定计划来决定要导入哪些数据,我们可以专注于分析数据库中的数据,这反过来应该会更快地产生洞察力。

2) 使用 SQL 引擎运行数据转换 - 实际上,我们将计算推送到数据库,因为 dplyr 正在向数据库发送 SQL 查询。

3) 收集目标数据集 - 在熟悉数据并选择将共享或建模的数据点后,可以使用最终查询仅将该数据带回 R 中的内存中。

4) 您所有的代码都在 R 中! - 因为我们使用 dplyr 与数据库通信,所以无需更改语言或工具来执行数据探索。 "

因此,您可能会通过 dbplyr/dplyr 获得所需的速度。

你应该试一试。

您可以在以下位置找到有关它以及如何使用 DBI 包与您的 PostgreSQL 服务器建立连接的更多信息:

https://cran.r-project.org/web/packages/dbplyr/vignettes/dbplyr.html

https://rviews.rstudio.com/2017/05/17/databases-using-r/

关于r - RPostgreSQL 中的查询非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52020930/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com