R:DuckDB DBconnect 非常慢 - 为什么?

HCA*_*CAI 1 sqlite r duckdb

我有一个包含柱状数字和字符串(磁盘上 13GB)的 *.csv 文件,我将其导入到新的 duckdb(或 sqlite)数据库中并将其保存,以便稍后可以在 R 中访问它。但是重新连接会重复它并且非常慢,这是错误的吗?

在 R 内部,我正在执行以下操作:

library(duckdb)
library(dplyr)
library(DBI)

#Create the DB
con <- dbConnect(duckdb::duckdb(), "FINAL_data.duckdb")

#Read in the csv
duckdb_read_csv(con, "data", "FINAL_data_new.csv") 
Run Code Online (Sandbox Code Playgroud)

然后我关闭 R 并重新启动它以查看它是否有效:

#这非常慢(大约10分钟),因为它看起来像是在某个地方再次写入数据库。但为什么?

con <- dbConnect(duckdb::duckdb(), "FINAL_data.duckdb")
Run Code Online (Sandbox Code Playgroud)

注意。我添加了 sqlite 作为标签,因为我认为这不是 duckdb 所特有的

Han*_*sen 7

您遇到的速度减慢是由于启动时的数据库检查点造成的。这已经在 master 分支上修复了。