2011-10-18 6 views
1

RpgSQLを使ってRからPostgreSQLデータベースにアクセスしようとしています。RpgSQL - なぜそれは遅いですか?

私のデータベースは非常に大きく、クエリは非常に洗練されています。だから私は少し待たなければならないことを理解する。

ただし、pgAdmin IIIをクライアントとして使用すると、クエリには5秒かかります。 RpgSQLを使用すると、同じクエリで文字通り何歳もかかる。

私はその理由を見ることができません、サーバーではなく、クライアントが仕事をしなければならないのでしょうか?

私に理由と解決方法を教えてもらえますか?

ありがとうございました!

+0

あなたはRODBCを使用してそれを試してみるとどうかを確認できます。ここでは

が、私は自宅で続けるデータベースから簡単な例である---それは、第二の第十に千シンプルな行 を取得しますそれはより速いです。 RpgSQLのバージョン番号0.1-5は私にはまだ成熟していません。 – ROLO

+0

ありがとうございます。あなたは正しいかもしれませんが、RODBCは非常に洗練されているようです(特に私の仕事用コンピュータには管理者権限がありません - 悲しいですが真実) – speendo

+0

Windowsでは、必要のない「ユーザーDSN」を作成できますコントロールパネルで[データソースの設定(ODBC)]をクリックして管理者権限を取得します。ああ、それにMySQL ODBCドライバが必要です。ドライバをインストールするには管理者権限が必要です...ごめんなさい!そして、あなたは実際にWindowsを使っていますか? – ROLO

答えて

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> 
+0

ダークありがとう! RPostgreSQLのメンテナーであることを読んでいます。実際にはRPostgreSQLを使いたいですが、Windows x32マシンにインストールするのは難しいようですね! – speendo

関連する問題