RpgSQL - 为什么这么慢?

时间:2011-10-18 07:15:16

标签: sql r postgresql

我尝试使用RpgSQL从R访问我的PostgreSQL数据库。

我的数据库非常大,查询非常复杂。因此我明白我必须等一下。

但是,如果我使用pgAdmin III作为客户端,则查询可能需要5秒钟。当我使用RpgSQL时,相同的查询确实需要很长时间。

我看不出原因,因为服务器而不是客户端正在做这项工作,对吗?

你能给我一个理由,可能还有解决方案吗?

谢谢!

1 个答案:

答案 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>