SQLite 內(nèi)存數(shù)據(jù)庫學(xué)習(xí)手冊
一、內(nèi)存數(shù)據(jù)庫:
在SQLite中,數(shù)據(jù)庫通常是存儲在磁盤文件中的。然而在有些情況下,我們可以讓數(shù)據(jù)庫始終駐留在內(nèi)存中。最常用的一種方式是在調(diào)用sqlite3_open()的時(shí)候,數(shù)據(jù)庫文件名參數(shù)傳遞":memory:",如:
rc = sqlite3_open(":memory:", &db);
在調(diào)用完以上函數(shù)后,不會(huì)有任何磁盤文件被生成,取而代之的是,一個(gè)新的數(shù)據(jù)庫在純內(nèi)存中被成功創(chuàng)建了。由于沒有持久化,該數(shù)據(jù)庫在當(dāng)前數(shù)據(jù)庫連接被關(guān)閉后就會(huì)立刻消失。需要注意的是,盡管多個(gè)數(shù)據(jù)庫連接都可以通過上面的方法創(chuàng)建內(nèi)存數(shù)據(jù)庫,然而它們卻是不同的數(shù)據(jù)庫,相互之間沒有任何關(guān)系。事實(shí)上,我們也可以通過Attach命令將內(nèi)存數(shù)據(jù)庫像其他普通數(shù)據(jù)庫一樣,附加到當(dāng)前的連接中,如:
ATTACH DATABASE ':memory:' AS aux1;
二、臨時(shí)數(shù)據(jù)庫:
在調(diào)用sqlite3_open()函數(shù)或執(zhí)行ATTACH命令時(shí),如果數(shù)據(jù)庫文件參數(shù)傳的是空字符串,那么一個(gè)新的臨時(shí)文件將被創(chuàng)建作為臨時(shí)數(shù)據(jù)庫的底層文件,如:
rc = sqlite3_open("", &db);
或
ATTACH DATABASE '' AS aux2;
和內(nèi)存數(shù)據(jù)庫非常相似,兩個(gè)數(shù)據(jù)庫連接創(chuàng)建的臨時(shí)數(shù)據(jù)庫也是各自獨(dú)立的,在連接關(guān)閉后,臨時(shí)數(shù)據(jù)庫將自動(dòng)消失,其底層文件也將被自動(dòng)刪除。
盡管磁盤文件被創(chuàng)建用于存儲臨時(shí)數(shù)據(jù)庫中的數(shù)據(jù)信息,但是實(shí)際上臨時(shí)數(shù)據(jù)庫也會(huì)和內(nèi)存數(shù)據(jù)庫一樣通常駐留在內(nèi)存中,唯一不同的是,當(dāng)臨時(shí)數(shù)據(jù)庫中數(shù)據(jù)量過大時(shí),SQLite為了保證有更多的內(nèi)存可用于其它操作,因此會(huì)將臨時(shí)數(shù)據(jù)庫中的部分?jǐn)?shù)據(jù)寫到磁盤文件中,而內(nèi)存數(shù)據(jù)庫則始終會(huì)將數(shù)據(jù)存放在內(nèi)存中。
- SQLite3 API 編程手冊
- SQLite 錯(cuò)誤碼整理
- SQLite學(xué)習(xí)手冊(SQLite在線備份)
- SQLite3 命令行操作指南
- 為SQLite3提供一個(gè)ANSI到UTF8的互轉(zhuǎn)函數(shù)
- SQLite 入門教程四 增刪改查 有講究
- SQLite 入門教程三 好多約束 Constraints
- SQLite 入門教程二 SQLite的創(chuàng)建、修改、刪除表
- SQLite 入門教程一 基本控制臺(終端)命令
- Linux sqlite3 基本命令
- Android使用SQLite數(shù)據(jù)庫的簡單實(shí)例
- android中sqlite的按條件查找的小例子
- 基于sqlite特殊字符轉(zhuǎn)義的實(shí)現(xiàn)方法
- 解析SQLite中的常見問題與總結(jié)詳解
- 淺談SQLite時(shí)間函數(shù)的使用說明與總結(jié)分析
- 深入SQLite基本操作的總結(jié)詳解
- Android畫圖并保存圖片的具體實(shí)現(xiàn)代碼
- android創(chuàng)建數(shù)據(jù)庫(SQLite)保存圖片示例
相關(guān)文章
SQLite教程(五):索引和數(shù)據(jù)分析/清理
這篇文章主要介紹了SQLite教程(五):索引和數(shù)據(jù)分析/清理,本文講解了創(chuàng)建索引、刪除索引、重建索引、數(shù)據(jù)分析、數(shù)據(jù)清理等內(nèi)容,需要的朋友可以參考下2015-05-05
SQLite3數(shù)據(jù)庫訪問性能優(yōu)化7個(gè)建議
SQLite的PRAGMA命令為開發(fā)者提供了靈活的配置選項(xiàng),可以顯著提升數(shù)據(jù)庫的查詢和寫入性能,通過調(diào)整緩存大小、同步模式、WAL 模式、索引優(yōu)化等配置,你可以針對特定的應(yīng)用場景對SQLite進(jìn)行定制化優(yōu)化,合理使用PRAGMA命令,確保數(shù)據(jù)庫在高負(fù)載環(huán)境下的穩(wěn)定性和可靠性2025-03-03
SQLite高手晉級教程:調(diào)試與性能優(yōu)化以及常見問題
SQLite 是一個(gè)輕量級的數(shù)據(jù)庫,廣泛用于各種應(yīng)用中,包括移動(dòng)應(yīng)用和嵌入式系統(tǒng),盡管它非常靈活和強(qiáng)大,但在處理大規(guī)模數(shù)據(jù)或高并發(fā)請求時(shí),性能優(yōu)化變得非常重要,本篇文章將重點(diǎn)講解 SQLite 的調(diào)試工具和性能優(yōu)化技巧,以幫助您解決常見問題并進(jìn)一步提升數(shù)據(jù)庫性能2025-03-03
SQLite數(shù)據(jù)庫常用語句及MAC上的SQLite可視化工具M(jìn)easSQLlite使用方法
這篇文章主要介紹了SQLite數(shù)據(jù)庫常用語句及MAC上的SQLite可視化工具M(jìn)easSQLlite使用方法,需要的朋友可以參考下2016-01-01

