在 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”加载巨大的表的主要内容,如果未能解决你的问题,请参考以下文章
SQL 将许多 tsv 文件连接到数据库中的单个表中,同时跟踪文件源 (MonetDBLite)
从 MonetdbLite C API 使用 monetdb_append