成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQLite使用內(nèi)存數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
SQLite數(shù)據(jù)庫(kù)通常存儲(chǔ)在單個(gè)普通磁盤(pán)文件中。但是,在某些情況下,數(shù)據(jù)庫(kù)可能存儲(chǔ)在內(nèi)存中。

SQLite數(shù)據(jù)庫(kù)通常存儲(chǔ)在單個(gè)普通磁盤(pán)文件中。但是,在某些情況下,數(shù)據(jù)庫(kù)可能存儲(chǔ)在內(nèi)存中。

[[273803]]

強(qiáng)制SQLite數(shù)據(jù)庫(kù)單純的存在于內(nèi)存中的常用方法是使用特殊文件名“ :memory: ” 打開(kāi)數(shù)據(jù)庫(kù)。換句話說(shuō),不是將真實(shí)磁盤(pán)文件的名稱(chēng)傳遞給sqlite3_open(),sqlite3_open16()或 sqlite3_open_v2()函數(shù)之一,而是傳入字符串“:memory:”。例如:

  1. rc = sqlite3_open(“:memory:”,&db); 

調(diào)用此接口完成后,不會(huì)打開(kāi)任何磁盤(pán)文件。而是在內(nèi)存中創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)連接關(guān)閉后,數(shù)據(jù)庫(kù)就不再存在。每一個(gè)memory數(shù)據(jù)庫(kù)彼此不同。因此,打開(kāi)兩個(gè)數(shù)據(jù)庫(kù)連接,每個(gè)數(shù)據(jù)庫(kù)連接的文件名為“:memory:”,將創(chuàng)建兩個(gè)獨(dú)立的內(nèi)存數(shù)據(jù)庫(kù)。

特殊文件名“:memory:”可用于允許數(shù)據(jù)庫(kù)文件名的任何位置。例如,它可以被用作 文件名中的ATTACH命令:

  1. ATTACH DATABASE ':memory:' AS aux1; 

請(qǐng)注意,為了應(yīng)用特殊的“:memory:”名稱(chēng)并創(chuàng)建純內(nèi)存數(shù)據(jù)庫(kù),文件名中不能有其他文本。因此,可以通過(guò)添加路徑名在文件中創(chuàng)建基于磁盤(pán)的數(shù)據(jù)庫(kù),如下所示: "./:memory:"。

使用URI文件名時(shí),特殊的“:memory:”文件名也可以使用。例如:

  1. rc = sqlite3_open(“file :: memory:”,&db); 

要么,

  1. ATTACH DATABASE 'file::memory:' AS aux1; 

內(nèi)存數(shù)據(jù)庫(kù)和共享緩存

如果使用URI文件名打開(kāi)內(nèi)存數(shù)據(jù)庫(kù),則允許它們使用共享緩存。如果使用未加修飾的“:memory:”名稱(chēng)來(lái)指定內(nèi)存數(shù)據(jù)庫(kù),那么該數(shù)據(jù)庫(kù)始終具有專(zhuān)用高速緩存,并且僅對(duì)最初打開(kāi)它的數(shù)據(jù)庫(kù)連接可見(jiàn)。但是,可以通過(guò)兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)連接打開(kāi)相同的內(nèi)存數(shù)據(jù)庫(kù),如下所示:

  1. rc = sqlite3_open("file::memory:?cache=shared", &db); 

要么,

  1. ATTACH DATABASE 'file::memory:?cache=shared' AS aux1; 

這允許單獨(dú)的數(shù)據(jù)庫(kù)連接共享相同的內(nèi)存數(shù)據(jù)庫(kù)。當(dāng)然,共享內(nèi)存數(shù)據(jù)庫(kù)的所有數(shù)據(jù)庫(kù)連接都需要在同一個(gè)進(jìn)程中。當(dāng)數(shù)據(jù)庫(kù)的最后一個(gè)連接關(guān)閉時(shí),將自動(dòng)刪除數(shù)據(jù)庫(kù)并回收內(nèi)存。

如果在單個(gè)進(jìn)程中需要兩個(gè)或多個(gè)不同同時(shí)可共享的內(nèi)存數(shù)據(jù)庫(kù),則mode = memory查詢參數(shù)可與URI文件名一起使用以創(chuàng)建命名的內(nèi)存數(shù)據(jù)庫(kù):

  1. rc = sqlite3_open("file:memdb1?mode=memory&cache=shared", &db); 

要么,

  1. ATTACH DATABASE 'file:memdb1?mode=memory&cache=shared' AS aux1; 

當(dāng)以這種方式命名內(nèi)存數(shù)據(jù)庫(kù)時(shí),它將僅與使用完全相同名稱(chēng)的另一個(gè)連接共享其緩存。

[[273804]]

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

當(dāng)傳遞給sqlite3_open()或 ATTACH的數(shù)據(jù)庫(kù)文件的名稱(chēng)是空字符串時(shí),則會(huì)創(chuàng)建一個(gè)新的臨時(shí)文件來(lái)保存數(shù)據(jù)庫(kù)。

  1. rc = sqlite3_open("", &db); 
  2. ATTACH DATABASE '' AS aux2; 

每次都會(huì)創(chuàng)建一個(gè)不同的臨時(shí)文件,因此就像使用特殊的“:memory:”字符串一樣,兩個(gè)到臨時(shí)數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)連接都有自己的私有數(shù)據(jù)庫(kù)。創(chuàng)建它們的連接關(guān)閉時(shí),將自動(dòng)刪除臨時(shí)數(shù)據(jù)庫(kù)。

即使為每個(gè)臨時(shí)數(shù)據(jù)庫(kù)分配了磁盤(pán)文件,實(shí)際上臨時(shí)數(shù)據(jù)庫(kù)通常駐留在內(nèi)存中的pager緩存中,因此“:memory:”創(chuàng)建的純內(nèi)存數(shù)據(jù)庫(kù)與臨時(shí)數(shù)據(jù)庫(kù)之間的差別很小。由空文件名創(chuàng)建。唯一的區(qū)別是“:memory:”數(shù)據(jù)庫(kù)必須始終保留在內(nèi)存中,而如果數(shù)據(jù)庫(kù)變大或SQLite受到內(nèi)存壓力,臨時(shí)數(shù)據(jù)庫(kù)的某些部分可能會(huì)刷新到磁盤(pán)。

前面的段落描述了默認(rèn)SQLite配置下臨時(shí)數(shù)據(jù)庫(kù)的行為。如果需要,應(yīng)用程序可以使用 temp_store編譯指示和SQLITE_TEMP_STORE編譯時(shí)參數(shù)來(lái)強(qiáng)制臨時(shí)數(shù)據(jù)庫(kù)表現(xiàn)為純內(nèi)存數(shù)據(jù)庫(kù)。

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2011-08-02 16:16:08

iPhone開(kāi)發(fā) SQLite 數(shù)據(jù)庫(kù)

2023-10-17 08:31:03

SQLite數(shù)據(jù)庫(kù)

2013-03-27 09:47:01

Android開(kāi)發(fā)SQAndroid SDK

2011-07-27 10:16:41

iPhone SQLite 數(shù)據(jù)庫(kù)

2011-07-20 12:34:49

SQLite數(shù)據(jù)庫(kù)約束

2017-07-12 09:20:42

SQLite數(shù)據(jù)庫(kù)移植

2021-09-12 17:25:12

SQLite數(shù)據(jù)庫(kù)

2011-08-04 18:00:47

SQLite數(shù)據(jù)庫(kù)批量數(shù)據(jù)

2022-04-05 11:24:17

CyberDB內(nèi)存數(shù)據(jù)庫(kù)Python

2024-10-28 16:31:03

2024-02-28 08:06:17

2011-08-24 13:49:45

Access數(shù)據(jù)庫(kù)轉(zhuǎn)化

2011-07-05 10:16:16

Qt 數(shù)據(jù)庫(kù) SQLite

2011-04-14 09:38:55

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

2018-07-13 09:20:30

SQLite數(shù)據(jù)庫(kù)存儲(chǔ)

2013-09-22 13:25:54

MongoDB內(nèi)存數(shù)據(jù)庫(kù)

2011-04-18 13:40:15

SQLite

2011-07-01 14:06:57

Qt sqlite

2017-05-03 13:50:38

2013-04-10 14:21:35

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 韩国av一区二区 | 亚洲区在线 | 国产激情免费视频 | 黑人巨大精品 | 成人精品一区二区三区中文字幕 | 羞羞色网站| 日韩欧美国产一区二区三区 | 欧美激情欧美激情在线五月 | 久久久久久久久久久久久久国产 | www亚洲精品| 黄色网址在线免费播放 | 久久精品中文字幕 | 亚洲精品乱码久久久久久蜜桃91 | 欧美国产视频一区二区 | 91久久视频 | 亚洲免费三级 | 99pao成人国产永久免费视频 | 九九热re | 成人在线中文字幕 | 国产精品亚洲一区 | 午夜视频在线免费观看 | 日韩欧美二区 | 亚洲欧洲成人av每日更新 | 国产精品久久久久久久免费大片 | 美女高潮网站 | 91精品国产777在线观看 | 毛片免费观看视频 | 久久久久久久国产精品影院 | 亚洲免费在线 | 女人av | 成人免费在线观看 | 久草在线视频中文 | 亚洲福利在线观看 | 91精品国产一区二区三区蜜臀 | 亚洲天天干| 狠狠的干狠狠的操 | 免费视频一区二区 | 99视频在线免费观看 | 中文字幕在线观看日韩 | www国产亚洲精品 | 国产日韩精品一区二区 |