我嘗試使用RpgSQL從R訪問我的PostgreSQL數據庫。RpgSQL - 爲什麼這麼慢?
我的數據庫非常大,查詢相當複雜。所以我明白我必須等一下。
但是,如果我使用pgAdmin III作爲客戶端,查詢可能需要5秒鐘。當我使用RpgSQL時,相同的查詢字面上需要很長時間。
我看不出原因,因爲服務器而不是客戶端乾的工作,對吧?
你能給我一個理由和可能的解決方案嗎?
謝謝!
我嘗試使用RpgSQL從R訪問我的PostgreSQL數據庫。RpgSQL - 爲什麼這麼慢?
我的數據庫非常大,查詢相當複雜。所以我明白我必須等一下。
但是,如果我使用pgAdmin III作爲客戶端,查詢可能需要5秒鐘。當我使用RpgSQL時,相同的查詢字面上需要很長時間。
我看不出原因,因爲服務器而不是客戶端乾的工作,對吧?
你能給我一個理由和可能的解決方案嗎?
謝謝!
還有RPostgreSQL包 這是積極維護。由於它直接位於PostgreSQL API之上,因此其 應該比通過ODBC與RODBC更快。
這裏是我一直在家裏數據庫一個簡單的例子 - 它會在十分之一秒的一千個簡單的行 :
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>
謝謝德克!我讀過你是RPostgreSQL的維護者。其實我很樂意使用RPostgreSQL,但似乎很難將其安裝在Windows x32機器上!? – speendo
你可以使用RODBC試一試,看看這更快。 RpgSQL的版本號0.1-5對我來說聽起來不太成熟。 – ROLO
謝謝。也許你是對的,但是RODBC似乎非常複雜(特別是因爲我的工作計算機上沒有管理員權限 - 可悲但是真實) – speendo
您可以在Windows中創建一個您不需要的'用戶DSN'通過控制面板中的「設置數據源(ODBC)」管理員權限。啊,但你需要MySQL ODBC驅動程序,並且安裝驅動程序確實需要管理員權限......對不起!你真的在使用Windows嗎? – ROLO