一、記憶體資料庫:
在sqlite中,資料庫通常是儲存在磁碟檔案中的。然而www.cppcns.com在有些情況下,我們可以讓資料庫始終駐留在記憶體中。最常用的一種方式是在呼叫sqlite3_open()的時候,www.cppcns.com資料庫檔名引數傳遞":memory:",如:
複製** **如下:
rc = sqlite3_open(":memory:", &db);
在呼叫完以上函式後,不會有任何磁碟檔案被生成,取而代之的是,乙個新的資料庫在純記憶體中被成功建立了。由於沒有持久化,該資料庫在當前資料庫連線被關閉後就會立刻消失。需要注意的是,儘管多個資料庫連線都可以通過上面的方法建立記憶體資料庫,然而它們卻是不同的資料庫,相互之間沒有任何關係。事實上,我們也可以通過attach命令將記憶體資料庫像其他普通資料庫一樣,附加到當前的連線中,如:
attach database ':memory:' as aux1;
二、臨時資料庫:
在呼叫sqlite3_open()函式或執行attach命令時,如果資料庫檔案引數傳的是空字串,那麼乙個新的臨時檔案將被建立作為臨時資料庫的底層檔案,如:
rc = sqlite3_open("", &db);
或attach database '' as aux2;
和記憶體資料庫非常相似,兩個資料庫連線建立的臨時資料庫也是各自獨立的,在連程式設計客棧接關閉後,臨時資料庫將自動消失,其底層檔案也將被自動刪除。
儘管磁碟檔案被建立用於儲存臨時資料庫中的資料資訊,但是實際上臨時資料庫也會和記憶體資料庫一樣通常駐留在記憶體中,唯一不同的是,當臨時資料庫中資料量過大時,sqlite為了保證有更多的記憶體可用於其它操作,因此會將臨時資料庫中的部分資料寫到磁碟檔案中,而記憶體資料庫則始終會將資料存放在記憶體中。
本文標題: sqlite 記憶體資料庫學習手冊
本文位址: /shujuku/sqlite/102844.html
SQLite學習手冊 資料庫和事務
一 attach資料庫 attach database語句新增另外乙個資料庫檔案到當前的連線中,如果檔名為 memory 我們可以將其視為記憶體資料庫,記憶體資料庫無法持久化到磁碟檔案上。如果操作attached資料庫中的表,則需要在表名前加資料庫名,如dbname.table name。最後需要說...
SQLite學習手冊 資料庫和事務
一 attach資料庫 attach database語句新增另外乙個資料庫檔案到當前的連線中,如果檔名為 memory 我們可以將其視為記憶體資料庫,記憶體資料庫無法持久化到磁碟檔案上。如果操作attached資料庫中的表,則需要在表名前加資料庫名,如dbname.table name。最後需要說...
SQLite學習手冊 資料庫和事務
一 attach資料庫 attach database語句新增另外乙個資料庫檔案到當前的連線中,如果檔名為 memory 我們可以將其視為記憶體資料庫,記憶體資料庫無法持久化到磁碟檔案上。如果操作attached資料庫中的表,則需要在表名前加資料庫名,如dbname.table name。最後需要說...