【问题标题】:Data storage space for temporary databases in SQLite 3SQLite 3 中临时数据库的数据存储空间
【发布时间】:2011-12-09 17:13:35
【问题描述】:

我创建了一个 SQLite 数据库作为临时数据库(通过在 sqlite3_open() 中指定一个空文件名)。我还通过使用 'sqlite3_soft_heap_limit64() 将数据库可以使用的内存量限制为大约 200KB。

当我不断插入数据库行时,我看到数据库使用的内存(通过 sqlite3_memory_used() 获得)一直上升,直到达到 200KB,然后保持不变,即使继续插入行也是如此。

达到分配的限制后插入的额外行空间在哪里?它是在磁盘上创建的临时文件吗?我想知道位置,以便我可以控制/配置此类分配可能导致的任何空间问题。

【问题讨论】:

    标签: sqlite


    【解决方案1】:

    我深入研究了 SQLite 代码,看看它是如何完成的。在 Unix 平台上,SQLite 将尝试在以下任一位置创建一个临时文件:

    1. SQLite 全局变量指向的位置:sqlite3_temp_directory
    2. 任何环境变量“TEMP”、“TMP”或“TMPDIR”所指向的目录,按此顺序。

    【讨论】:

      猜你喜欢
      • 2010-10-25
      • 2010-12-02
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 2018-04-07
      • 1970-01-01
      相关资源
      最近更新 更多