下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、SQLITE特性分析SQLite 是用 C 語言編寫的開源嵌入式數(shù)據(jù)庫引擎。它是完全獨(dú)立的,不具有外部依賴性。SQLite 支持多數(shù) SQL92 標(biāo)準(zhǔn),可以在所有主要的操作系統(tǒng)上運(yùn)行,并且支持大多數(shù)計(jì)算機(jī)語言。SQLite 還非常健壯。其創(chuàng)建者保守地估計(jì) SQLite 可以處理每天負(fù)擔(dān)多達(dá) 100,00 次點(diǎn)擊率的 Web 站點(diǎn),并且 SQLite 有時(shí)候可以處理 10 倍于上述數(shù)字的負(fù)載。它支持的SQL包括:ATTACH DATABASEBEGIN TRANSACTIONcommentCOMMIT TRANSACTIONCOPYCREATE INDEXCREATE TABLECREATE T
2、RIGGERCREATE VIEWDELETEDETACH DATABASEDROP INDEXDROP TABLEDROP TRIGGERDROP VIEWEND TRANSACTIONEXPLAINexpressionINSERTON CONFLICT clausePRAGMAREPLACEROLLBACK TRANSACTIONSELECTUPDATESQLite 內(nèi)部結(jié)構(gòu)在內(nèi)部,SQLite 由以下幾個(gè)組件組成:SQL 編譯器、內(nèi)核、后端以及附件。SQLite 通過利用虛擬機(jī)和虛擬數(shù)據(jù)庫引擎(VDBE),使調(diào)試、修改和擴(kuò)展 SQLite 的內(nèi)核變得更加方便。所有 SQL 語句都被編譯成
3、易讀的、可以在 SQLite 虛擬機(jī)中執(zhí)行的程序集。SQLite 支持大小高達(dá) 2 TB 的數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫完全存儲(chǔ)在單個(gè)磁盤文件中。這些磁盤文件可以在不同字節(jié)順序的計(jì)算機(jī)之間移動(dòng)。這些數(shù)據(jù)以 B+樹(B+tree)數(shù)據(jù)結(jié)構(gòu)的形式存儲(chǔ)在磁盤上。SQLite 根據(jù)該文件系統(tǒng)獲得其數(shù)據(jù)庫權(quán)限。SQLite 數(shù)據(jù)類型SQLite 不支持靜態(tài)數(shù)據(jù)類型,而是使用列關(guān)系。這意味著它的數(shù)據(jù)類型不具有表列屬性,而具有數(shù)據(jù)本身的屬性。當(dāng)某個(gè)值插入數(shù)據(jù)庫時(shí),SQLite 將檢查它的類型。如果該類型與關(guān)聯(lián)的列不匹配,則 SQLite 會(huì)嘗試將該值轉(zhuǎn)換成列類型。如果不能轉(zhuǎn)換,則該值將作為其本身具有的類型存儲(chǔ)。SQL
4、ite 支持 NULL、INTEGER、REAL、TEXT 和 BLOB 數(shù)據(jù)類型。由于資源占用少、性能良好和零管理成本,嵌入式數(shù)據(jù)庫有了它的用武之地,它將為那些以前無法提供用作持久數(shù)據(jù)的后端的數(shù)據(jù)庫的應(yīng)用程序提供了高效的性能?,F(xiàn)在,沒有必要使用文本文件來實(shí)現(xiàn)持久存儲(chǔ)。SQLite 之類的嵌入式數(shù)據(jù)庫的易于使用性可以加快應(yīng)用程序的開發(fā),并使得小型應(yīng)用程序能夠完全支持復(fù)雜的 SQL。這一點(diǎn)對(duì)于對(duì)于小型設(shè)備空間的應(yīng)用程序來說尤其重要。技術(shù)上的優(yōu)點(diǎn)和特性SQLite是一個(gè)輕量級(jí)、跨平臺(tái)的關(guān)系型數(shù)據(jù)庫。既然號(hào)稱關(guān)系型數(shù)據(jù)庫,支持SQL92標(biāo)準(zhǔn)大多數(shù)標(biāo)準(zhǔn)(比如視圖、事務(wù)、觸發(fā)器等)。輕量級(jí)SQLite和
5、C/S模式的數(shù)據(jù)庫軟件不同,它是進(jìn)程內(nèi)的數(shù)據(jù)庫引擎,因此不存在數(shù)據(jù)庫的客戶端和服務(wù)器。使用SQLite一般只需要帶上它的一個(gè)動(dòng)態(tài)庫,就可以使用它的全部功能。而且那個(gè)動(dòng)態(tài)庫的尺寸也挺小,以版本3.6.11為例,Windows下487KB、Linux下347KB。)零配置、無服務(wù)器SQLite的另外一個(gè)特點(diǎn)是綠色:它的核心引擎本身不依賴第三方的軟件,使用它也不需要“安裝”。所以在部署的時(shí)候能夠省去不少麻煩。SQLite在使用前不需要安裝設(shè)置,不需要進(jìn)程來啟動(dòng)、停止或配置,不需要管理員去創(chuàng)建新數(shù)據(jù)庫或分配用戶權(quán)限,在系統(tǒng)崩潰或失電之后自動(dòng)恢復(fù)。大多數(shù)SQL數(shù)據(jù)庫引擎是作為一個(gè)單獨(dú)的服務(wù)器進(jìn)程被執(zhí)行。
6、訪問數(shù)據(jù)庫的程序使用某種內(nèi)部進(jìn)程通信(典型的是TCPIP)與服務(wù)器通信,完成 發(fā)送請(qǐng)求到服務(wù)器和接收查詢結(jié)果的工作。SQLite不采用這種工作方式。使用SQLite時(shí),訪問數(shù)據(jù)庫的程序直接從磁盤上的數(shù)據(jù)庫文件讀寫,沒有中間 的服務(wù)器進(jìn)程單一文件、簡(jiǎn)單的訪問所謂的“單一文件”,就是數(shù)據(jù)庫中所有的信息(比如表、視圖、觸發(fā)器、等)都包含在一個(gè)文件內(nèi)。這個(gè)文件可以copy到其它目錄或其它機(jī)器上,也照用不誤。一個(gè)SQLite數(shù)據(jù)庫是一個(gè)單獨(dú)的普通磁盤文件,能夠被定位在路徑層次的任何地方。如果 SQLite能讀寫磁盤文件,則它也能訪問數(shù)據(jù)庫。大多數(shù)SOL數(shù)據(jù)庫引擎趨向于把數(shù)據(jù)存為一個(gè)大的文件集合,通常這些
7、文件在一個(gè)標(biāo)準(zhǔn)的定位中,只有數(shù)據(jù) 庫引擎本身能訪問它跨平臺(tái)/可移植性除了主流操作系統(tǒng),SQLite還支持了很多冷門的操作系統(tǒng)。比如它對(duì)很多嵌入式系統(tǒng)(比如Android、Windows Mobile、Symbin、Palm、VxWorks等)的支持。內(nèi)存數(shù)據(jù)庫(in-memory database)SQLite的API不區(qū)分當(dāng)前操作的數(shù)據(jù)庫是在內(nèi)存還是在文件(對(duì)于存儲(chǔ)介質(zhì)是透明的)。所以如果覺得磁盤I/O有可能成為瓶頸的話,可以考慮切換為內(nèi)存方式。切換的時(shí)候,操作SQLite的代碼基本不用大改,只要在開始時(shí)把文件Load到內(nèi)存,結(jié)束時(shí)把內(nèi)存的數(shù)據(jù)庫Dump回文件就OK了。在這種情況下,可以使用“online backup API”??勺冮L(zhǎng)度的記錄一般的SQL數(shù)據(jù)庫引擎在表中為每一個(gè)記錄分配一個(gè)固定的磁盤空間數(shù),SQLite只使用一個(gè)記錄中實(shí)際存儲(chǔ)信息的磁盤空問數(shù)。顯然,這會(huì)使數(shù)據(jù)庫非常小,同時(shí),由于在磁盤上移動(dòng)的信息很少,也使數(shù)據(jù)庫很快。技術(shù)上的缺點(diǎn)和不足并發(fā)訪問的鎖機(jī)制SQLite在并發(fā)(包括多進(jìn)程和多線程)讀寫方面的性能一直不太理想。數(shù)據(jù)庫可能會(huì)被寫操作獨(dú)占,從而導(dǎo)致其它讀寫操作阻塞或出錯(cuò)。SQL標(biāo)準(zhǔn)支持不全在它的官方網(wǎng)站上,具體列舉了不支持哪些SQL92標(biāo)準(zhǔn)。比如不支持外鍵約束。編程語言接口SQLite支持很多種語言的編程接口。這對(duì)于我這種喜歡混用多種編
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療行業(yè)中的家居智能技術(shù)應(yīng)用案例分享
- 專屬2024版婚禮主持與現(xiàn)場(chǎng)布置一體化服務(wù)協(xié)議版
- 二零二五年度高層建筑消防通道改造施工協(xié)議3篇
- 2025年度個(gè)人二手房交易合同模板產(chǎn)權(quán)清晰保障版2篇
- 二零二五年度電子商務(wù)平臺(tái)軟件開發(fā)框架合作協(xié)議3篇
- 牡丹江2025年黑龍江牡丹江醫(yī)學(xué)院科大學(xué)招聘93人筆試歷年參考題庫附帶答案詳解
- 二零二五年度車輛保養(yǎng)與綠色出行獎(jiǎng)勵(lì)合同4篇
- 2025版智慧社區(qū)門衛(wèi)服務(wù)與物業(yè)管理合同2篇
- 湖北2025年湖北省水利水電科學(xué)研究院招聘14人筆試歷年參考題庫附帶答案詳解
- 溫州2025年浙江溫州市公安局洞頭區(qū)分局第一期招聘編外用工筆試歷年參考題庫附帶答案詳解
- 2023年譯林版英語五年級(jí)下冊(cè)Units-1-2單元測(cè)試卷-含答案
- Unit-3-Reading-and-thinking課文詳解課件-高中英語人教版必修第二冊(cè)
- 施工管理中的文檔管理方法與要求
- DL∕T 547-2020 電力系統(tǒng)光纖通信運(yùn)行管理規(guī)程
- 種子輪投資協(xié)議
- 物業(yè)客服培訓(xùn)課件PPT模板
- 員工工資條模板
- 執(zhí)行依據(jù)主文范文(通用4篇)
- 浙教版七年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)課件
- 華為攜手深圳國際會(huì)展中心創(chuàng)建世界一流展館
- 2023版思想道德與法治專題2 領(lǐng)悟人生真諦 把握人生方向 第3講 創(chuàng)造有意義的人生
評(píng)論
0/150
提交評(píng)論