我有一个非常大data.frame
的,超过 500,000 行。
现在我需要从我的数据库(Oracle 11g)中检索每一行的数据。诀窍是我不知道如何有效地运行数十万个查询。
我一直在尝试使用dplyr
此功能,但找不到有关如何操作的文档。我应该注意,我只有对我的数据库的读取权限。
我的代码:
DeliveredIds$ID <- c(1:500000)
sql_select(db_conn,
select = c("ID", "CATEGORY"),
from = "DELIVERIES",
where = list(ID %in% DeliveredIds$ID, #the 500K IDs that I need to query data for
ASOF = as.Date("2017-01-31"))
)
最初我尝试这样做,ROracle
但我收到错误消息,说我试图一次查询太多项目(我不再有此代码)。
因此,重申我的问题是如何通过多行而不是一行来遍历 data.frame?
笔记
我对其他解决方案完全开放,但此时我唯一能想到的就是编写一个循环,一次查询几百行并随时更新数据库(效率不高,但我怀疑我还有其他选择)。