在 MonetDBLite 中使用“INSERT INTO test VALUES”加载巨大的表

Posted

技术标签:

【中文标题】在 MonetDBLite 中使用“INSERT INTO test VALUES”加载巨大的表【英文标题】:Loading huge tables with `INSERT INTO test VALUES` in MonetDBLite 【发布时间】:2019-03-28 18:28:43 【问题描述】:

在我的用例中,我在运行时生成数据,将这些数据序列化为 CSV 文件,然后使用 COPY 加载到 MonetDBLite 的成本可能会高于使用 INSERT INTO tablename VALUES 之类的东西。鉴于 MonetDBLite 不像在 ODBC/iODBC 中那样使用 DBConnections,这是否意味着我不需要使用显式的 COMMIT 语句来清除内存,或者在将一些 GB 数据加载到为了不占用所有可用的主内存表?提前致谢。

【问题讨论】:

【参考方案1】:

您使用的是哪种 MonetDBLite?我认为在这种情况下,您可以使用内存附加来非常快速地加载数据。对于 R/Python,我们可以直接从数据帧中追加,对于 C,这个过程就不太方便了。

【讨论】:

是的,我正在使用 C,但我不一定要寻找简单的解决方案,而是寻找最有效的 MonetDBLite-C。我直接使用来自 github repo 的那个。如何在当前 API 中使用内存追加? 好的,我在***.com/a/52254589/1376095找到了你之前的答案。

以上是关于在 MonetDBLite 中使用“INSERT INTO test VALUES”加载巨大的表的主要内容,如果未能解决你的问题,请参考以下文章

使用 tbl 和 src_monetdblite 访问数据

将变量添加到 MonetDBLite 中的表

SQL 将许多 tsv 文件连接到数据库中的单个表中,同时跟踪文件源 (MonetDBLite)

从 MonetdbLite C API 使用 monetdb_append

使用 MonetDBLite C API 连接到现有的数据库场

monetdblite:是不是可以配置“monetdb_query”来运行多个语句?