2011-12-09 112 views
2

我創建了一個SQLite數據庫作爲臨時數據庫(通過在sqlite3_open()中指定一個空文件名)。我還通過使用'sqlite3_soft_heap_limit64()指定了數據庫可以使用的大約200KB的內存限制。SQLite中臨時數據庫的數據存儲空間3

當我不斷插入數據庫行時,我發現數據庫使用的內存(由sqlite3_memory_used()獲取)上升,直到達到200KB,然後保持不變,即使持續行插入。

插入的額外行空間在達到從?它是在磁盤上創建的臨時文件嗎?我想知道位置,以便我可以控制/配置可能由此類分配導致的任何空間問題。

回答

4

我挖掘SQLite代碼,看看如何做到這一點。在Unix平臺上,SQLite的將嘗試要麼創建一個臨時文件:

  1. 位置由SQLite的全局變量指出:sqlite3_temp_directory
  2. 的目錄中的任何環境變量「TEMP」的指出,「 TMP'或'TMPDIR'。