佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > SQLite教程(十):內(nèi)存數(shù)據(jù)庫(kù)和臨時(shí)數(shù)據(jù)庫(kù)

SQLite教程(十):內(nèi)存數(shù)據(jù)庫(kù)和臨時(shí)數(shù)據(jù)庫(kù)

熱門(mén)標(biāo)簽:鐵路電話系統(tǒng) 服務(wù)外包 百度競(jìng)價(jià)排名 呼叫中心市場(chǎng)需求 網(wǎng)站排名優(yōu)化 AI電銷(xiāo) Linux服務(wù)器 地方門(mén)戶(hù)網(wǎng)站

一、內(nèi)存數(shù)據(jù)庫(kù):

    在SQLite中,數(shù)據(jù)庫(kù)通常是存儲(chǔ)在磁盤(pán)文件中的。然而在有些情況下,我們可以讓數(shù)據(jù)庫(kù)始終駐留在內(nèi)存中。最常用的一種方式是在調(diào)用sqlite3_open()的時(shí)候,數(shù)據(jù)庫(kù)文件名參數(shù)傳遞":memory:",如:
 

復(fù)制代碼 代碼如下:

    rc = sqlite3_open(":memory:", db);
 

    在調(diào)用完以上函數(shù)后,不會(huì)有任何磁盤(pán)文件被生成,取而代之的是,一個(gè)新的數(shù)據(jù)庫(kù)在純內(nèi)存中被成功創(chuàng)建了。由于沒(méi)有持久化,該數(shù)據(jù)庫(kù)在當(dāng)前數(shù)據(jù)庫(kù)連接被關(guān)閉后就會(huì)立刻消失。需要注意的是,盡管多個(gè)數(shù)據(jù)庫(kù)連接都可以通過(guò)上面的方法創(chuàng)建內(nèi)存數(shù)據(jù)庫(kù),然而它們卻是不同的數(shù)據(jù)庫(kù),相互之間沒(méi)有任何關(guān)系。事實(shí)上,我們也可以通過(guò)Attach命令將內(nèi)存數(shù)據(jù)庫(kù)像其他普通數(shù)據(jù)庫(kù)一樣,附加到當(dāng)前的連接中,如:
 
復(fù)制代碼 代碼如下:

    ATTACH DATABASE ':memory:' AS aux1;
 

   
二、臨時(shí)數(shù)據(jù)庫(kù):

    在調(diào)用sqlite3_open()函數(shù)或執(zhí)行ATTACH命令時(shí),如果數(shù)據(jù)庫(kù)文件參數(shù)傳的是空字符串,那么一個(gè)新的臨時(shí)文件將被創(chuàng)建作為臨時(shí)數(shù)據(jù)庫(kù)的底層文件,如:
 

復(fù)制代碼 代碼如下:

    rc = sqlite3_open("", db);
 

    或
 
復(fù)制代碼 代碼如下:

    ATTACH DATABASE '' AS aux2;
 

    和內(nèi)存數(shù)據(jù)庫(kù)非常相似,兩個(gè)數(shù)據(jù)庫(kù)連接創(chuàng)建的臨時(shí)數(shù)據(jù)庫(kù)也是各自獨(dú)立的,在連接關(guān)閉后,臨時(shí)數(shù)據(jù)庫(kù)將自動(dòng)消失,其底層文件也將被自動(dòng)刪除。
    盡管磁盤(pán)文件被創(chuàng)建用于存儲(chǔ)臨時(shí)數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息,但是實(shí)際上臨時(shí)數(shù)據(jù)庫(kù)也會(huì)和內(nèi)存數(shù)據(jù)庫(kù)一樣通常駐留在內(nèi)存中,唯一不同的是,當(dāng)臨時(shí)數(shù)據(jù)庫(kù)中數(shù)據(jù)量過(guò)大時(shí),SQLite為了保證有更多的內(nèi)存可用于其它操作,因此會(huì)將臨時(shí)數(shù)據(jù)庫(kù)中的部分?jǐn)?shù)據(jù)寫(xiě)到磁盤(pán)文件中,而內(nèi)存數(shù)據(jù)庫(kù)則始終會(huì)將數(shù)據(jù)存放在內(nèi)存中。

您可能感興趣的文章:
  • SQLite教程(一):SQLite數(shù)據(jù)庫(kù)介紹
  • SQLite教程(二):C/C++接口簡(jiǎn)介
  • SQLite教程(三):數(shù)據(jù)表和視圖簡(jiǎn)介
  • SQLite教程(四):內(nèi)置函數(shù)
  • SQLite教程(五):索引和數(shù)據(jù)分析/清理
  • SQLite教程(五):數(shù)據(jù)庫(kù)和事務(wù)
  • SQLite教程(六):表達(dá)式詳解
  • SQLite教程(七):數(shù)據(jù)類(lèi)型詳解
  • SQLite教程(八):命令行工具介紹
  • SQLite教程(九):在線備份

標(biāo)簽:衡水 黃山 崇左 銅川 蘭州 仙桃 湖南 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQLite教程(十):內(nèi)存數(shù)據(jù)庫(kù)和臨時(shí)數(shù)據(jù)庫(kù)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266
    文山县| 那坡县| 怀集县| 大厂| 阳泉市| 海宁市| 利辛县| 成武县| 崇义县| 吉木乃县| 古交市| 宁河县| 得荣县| 苏尼特右旗| 娄烦县| 定边县| 杭锦后旗| 巴南区| 河曲县| 邹平县| 名山县| 深泽县| 农安县| 浙江省| 金乡县| 镇远县| 西畴县| 建水县| 永宁县| 临海市| 陆丰市| 潮州市| 伽师县| 故城县| 民丰县| 通海县| 新蔡县| 曲麻莱县| 禹州市| 乌兰县| 成安县|