RpgSQL – Почему это так медленно?

Я пытаюсь получить доступ к моей базе данных PostgreSQL из R, используя RpgSQL .

Моя база данных очень большая, и запросы довольно сложны. Поэтому я понимаю, что мне нужно немного подождать.

Однако, если я использую pgAdmin III в качестве клиента, запрос занимает, возможно, 5 секунд. Когда я использую RpgSQL, тот же запрос буквально занимает много времени.

Я не могу понять причину этого, так как сервер, а не клиент, должен выполнить эту работу, не так ли?

Можете ли вы дать мне повод и, возможно, решение?

Спасибо!

Существует также пакет RPostgreSQL , который активно поддерживается. Поскольку он находится непосредственно поверх API PostgreSQL, он должен быть быстрее, чем через 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>