如何从Postgresql更快地将一百万条记录提取到Shiny R中?

时间:2018-11-02 15:34:14

标签: r postgresql shiny dplyr data.table

我正试图从postgres数据库中获取一百万条记录。当数据量很少时,闪亮的仪表板可以正常工作,但是随着数据的增加,运行应用程序所需的时间也会增加。现在,大约需要2分钟来加载应用程序。

config <- config::get()
pool <- dbPool(
drv = dbDriver("PostgreSQL"),
host = config$host,
dbname = config$dbname,
port = config$port,
user = config$user,
password = config$password
)

onStop(function() {
poolClose(pool)
})

get_data <- function(pool) {
appdata <- pool %>% tbl('matview')%>%collect()
return(appdata)
}
appdata <- get_data(pool = pool)
View(appdata)

matview是具有200万行的实例化视图(已执行所有聚合并将数据减少到最小可能的水平)。处理器速度:3.3GHz,内存:16GB。 有什么方法可以提高速度?

谢谢!

0 个答案:

没有答案