SQL学习笔记:分块提取查询结果

实践中,数据库中可能有数十亿条记录。查询结果有可能达到千万条。如果用dbGetQuery( ) 一次性取出所有查询结果,内存可能吃不消。但是,如果容许分块处理数据来完成任务,那么下述方法不失为一个好的选择。

library(DBI)
library(RSQLite)
con <- dbConnect(SQLite(), "example1.sqlite")
res <- dbSendQuery(con,
                   "select carat, cut, color, price from diamonds
where cut = 'Ideal' and color = 'E' ")
while(!dbHasCompleted(res)){
  chunk <- dbFetch(res, 800)
  cat(nrow(chunk), "records fetched\n")
}
dbClearResult(res)
dbDisconnect(con)

转载于:https://www.cnblogs.com/xihehe/p/8335434.html

你可能感兴趣的:(SQL学习笔记:分块提取查询结果)