我尝试使用RpgSQL从R访问我的PostgreSQL数据库。
我的数据库非常大,查询非常复杂。因此我明白我必须等一下。
但是,如果我使用pgAdmin III作为客户端,则查询可能需要5秒钟。当我使用RpgSQL时,相同的查询确实需要很长时间。
我看不出原因,因为服务器而不是客户端正在做这项工作,对吗?
你能给我一个理由,可能还有解决方案吗?
谢谢!
答案 0 :(得分:3)
还有RPostgreSQL个包 积极维护。因为它直接位于PostgreSQL API的顶部,所以它 应该比使用RODBC的ODBC更快。
以下是我保留在家中的数据库的一个简单示例 - 它获得了一千个简单的行 在十分之一秒内:
R> library(RPostgreSQL)
Loading required package: DBI
R> drv <- dbDriver("PostgreSQL")
R> con <- dbConnect(drv, password="....", dbname="beancounter")
R> system.time(res <- dbGetQuery(con,
+> "select * from fxprices where date >= '2005-01-01' limit 1000"))
user system elapsed
0.030 0.000 0.113
R> dim(res)
[1] 1000 8
R>