2013-01-04 20 views

回答

2

當「連接」到使用memory而不是filesystem作爲存儲的SQLite數據庫時有一個選項。

但它僅在創建新數據庫時使用,因此內存數據庫中的「新」將爲空。當你想利用像索引和查詢大量數據這樣的SQL時,這非常有用。

不幸的是,從文件系統複製到內存中(反之亦然)並不是SQLite中的一項功能。這是一個設計選擇,因爲您的(或其他人)必須鎖定SQLite文件進行併發控制。

通常連接到SQLite數據庫的DSN看起來像這樣'sqlite:/path/to/file.sqlite'。訪問文件系統權限給予數據庫訪問控制權。在內存數據庫中,DSN將如下所示:'sqlite::memory'

+0

這並不回答原來的OP問題,關於sqlite的內部架構,當數據庫本身在使用時,它是否首先將整個文件讀入內存?就像使用json/ini文件時所做的那樣,或者它可以修改文件的某些部分而不必首先將其全部加載到內存中? – vasilevich

相關問題