


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、windows下sqlite 安裝使用和性能優(yōu)化及設置sqlite 是嵌入式 SQL數(shù)據(jù)庫引擎 SQLite (SQLite Embeddable SQL Database Engine)的一個擴展。SQLite是一個實現(xiàn)嵌入式SQL數(shù)據(jù)庫引擎小型C語言庫(C library ),實現(xiàn)了獨立的,可嵌入的,零配置的SQL數(shù)據(jù)庫引擎。特性包括:事務操作是原子,一致,孤立,并且持久的,即使在系統(tǒng)崩潰和電源故障之 后。零配置一一不需要安裝和管理。實現(xiàn)了絕大多數(shù)SQL92標準。整個數(shù)據(jù)庫存儲在一個單一的文件中。數(shù)據(jù)庫文件可以在不同字節(jié)序的機器之間自由地共享。 支持最大可達2T的數(shù)據(jù)庫。字符串和BLOB類
2、型的大小只受限于可用內(nèi)存。完整 配置的少于250KB忽略一些可選特性的少于150KB在大多數(shù)常見操作上比流 行的客戶/服務器數(shù)據(jù)庫引擎更快。簡單易于使用的API。內(nèi)建TCL綁定。另外提供可用于許多其他語言的綁定。具有良好注釋的源代碼,代碼95%有較好的注釋。獨立:沒有外部依賴。源代碼位于公共域,可用于任何用途。用SQLite連接的程序可以使用SQL數(shù)據(jù)庫,但不需要運行一個單獨的關系型數(shù)據(jù)庫管理系 統(tǒng)進程(separate RDBMS process )。SQLite不是一個用于連接到大型數(shù)據(jù)庫 服務器(big database server )的客戶端庫(client library),而是非
3、常適合桌面程序和小型網(wǎng)站的數(shù)據(jù)庫服務器。SQLite直接讀寫(reads and writes directly )在硬盤上的數(shù)據(jù)庫文件。下面是我自己的使用過程:SQLite安裝方案SQLite的最新版本可以 從這里下載。下面我們以Windows版本sqlite-3_5_1.zip 為例介紹其安裝方法。(大家可以選擇下載安裝適合自己的版本)下載后,將sqlite-3_5_1.zip解壓縮至C:sqlite目錄即完成安裝。C:sqlite 目錄構(gòu)造為:C:sqlite|+-sqlite3.exe打開一個CMD令窗口C:>cd sqliteC:sqlitesqlite3.exe mydb.d
4、bSQLite version 3.5.1En ter ".help" for in struct ionssqlite> create table user ( id integer primary key, name varchar(32); sqlite> .schemaCREATE TABLE user ( id in teger primary key, n ame varchar(32); sqlite>.quit退出后,查看 C:sqlite 目錄,會發(fā)現(xiàn)多出一個 mydb.db 文件:C:sqlite|+-sqlite3.exe+-mydb
5、.dbSQLite 性能優(yōu)化很多人直接就使用了, 并未注意到 SQLite 也有配置參數(shù),可以對性能進行調(diào)整。 有時候,產(chǎn)生的結(jié)果會有很大影響。主要通過 pragma 指令來實現(xiàn)。 比如: 空間釋放、磁盤同步、 Cache 大小等。 不要打開。前文提高了, Vacuun的效率非常低!PRAGMA auto_vacuum;PRAGMA auto_vacuum = 0 | 1; 查詢或設置數(shù)據(jù)庫的 auto-vacuum 標記。 正常情況下,當提交一個從數(shù)據(jù)庫中刪除數(shù)據(jù)的事務時, 數(shù)據(jù)庫文件不改變大小。 未使用的文件頁被標記并在以后的添加操作中 再次使用。這種情況下使用 VACUU命令釋放刪除得到
6、的空間。當開啟auto-vacuum,當提交一個從數(shù)據(jù)庫中刪除數(shù)據(jù)的事務時,數(shù)據(jù)庫文件自 動收縮,(VACUUM命令在auto-vacuum開啟的數(shù)據(jù)庫中不起作用)。數(shù)據(jù)庫會在 內(nèi)部存儲一些信息以便支持這一功能,這使得 數(shù)據(jù)庫文件比不開啟該選項時稍 微大一些。只有在數(shù)據(jù)庫中未建任何表時才能改變 auto-vacuum 標記。試圖在已有表的情況 下修改不會導致報錯。建議改為 8000PRAGMA cache_size;PRAGMA cache_size = Number-of-pages;查詢或修改SQLite 次存儲在內(nèi)存中的數(shù)據(jù)庫文件頁數(shù)。每頁使用約1.5K內(nèi)存, 缺省的緩存大小是2000.
7、若需要使用改變大量多行的 UPDATE或 DELETE命令, 并且不介意 SQLite 使用更多的內(nèi)存的話,可以增大緩存以提高性能。當使用cache_size pragma改變緩存大小時,改變僅對當前對話有效,當數(shù)據(jù)庫 關閉重新打開時緩存大小恢復到缺省大小。要想永久改變緩存大小,使用default_cache_size pragma.打開。不然搜索中文字串會出錯。PRAGMA case_sensitive_like;PRAGMA case_sensitive_like = 0 | 1;LIKE 運算符的缺省行為是忽略 latin1 字符的大小寫。因此在缺省情況下 'a'LIKE
8、 'A' 的值為真??梢酝ㄟ^打開 case_sensitive_like pragma 來改變這一缺 省行為。當啟用 case_sensitive_like , 'a' LIKE 'A' 為假而 'a' LIKE 'a' 依 然為真。打開。便于調(diào)試PRAGMA count_changes;PRAGMA count_changes = 0 | 1;查詢或更改count-changes標記。正常情況下INSERT,UPDATE口 DELETE語句不 返回數(shù)據(jù)。 當開啟 count-changes ,以上語句返回一行含一
9、個整數(shù)值的數(shù)據(jù) 該語句插入,修改或刪除的行數(shù)。 返回的行數(shù)不包括由觸發(fā)器產(chǎn)生的插入,修 改或刪除等改變的行數(shù)。PRAGMA page_size;PRAGMA page_size = bytes;查詢或設置 page-size 值。只有在未創(chuàng)建數(shù)據(jù)庫時才能設置 page-size 。頁面大 小必須是 2 的整數(shù)倍且大于等于 512 小于等于 8192。 上限可以通過在編譯時修 改宏定義SQLITE_MAX_PAGE_SlZSt來改變。上限的上限是 32768. 如果有定期備份的機制,帝且少量數(shù)據(jù)丟失可接受,用OFFPRAGMA synchronous;PRAGMA synchronous = F
10、ULL; (2)PRAGMA synchronous = NORMAL; (1)PRAGMA synchronous = OFF; (0) 查詢或更改 "synchronous" 標記的設定。第一種形式 ( 查詢 ) 返回整數(shù)值。 當 synchronous 設置為 FULL (2), SQLite 數(shù)據(jù)庫引擎在緊急時刻會暫停以確定數(shù) 據(jù)已經(jīng)寫入磁盤。 這使系統(tǒng)崩潰或電源出問題時能確保數(shù)據(jù)庫在重起后不會損 壞。 FULLsynchronous 很安全但很慢。 當 synchronous 設置為 NORMALS, QLite 數(shù)據(jù)庫引擎在大部分緊急時刻會暫停,但不像 FULL
11、 模式下那么頻繁。 NORMAL 模式下有很小的幾率 ( 但不是不存在 )發(fā)生電源故障導致數(shù)據(jù)庫損壞的情況。 但實 際上,在這種情況 下很可能你的硬盤已經(jīng)不能使用,或者發(fā)生了其他的不可恢 復的硬件錯誤。 設置為 synchronous OFF (0) 時, SQLite 在傳遞數(shù)據(jù)給系統(tǒng)以 后直接繼續(xù)而不暫停。 若運行 SQLite 的應用程序崩潰, 數(shù)據(jù)不會損傷, 但在系 統(tǒng)崩潰或?qū)懭霐?shù)據(jù)時意外斷電的情況下數(shù)據(jù)庫可能會損壞。另一方面,在 synchronous OFF 時 一些操作可能會快 50 倍甚至更多。在SQLite 2中,缺省值為NORMA而在3中修改為FULL.使用 2,內(nèi)存模式。PRAGMA temp_store;PRAGMA temp_store = DEFAULT; (0)PRAGMA temp_store = FILE; (1)PRAGMA temp_store = MEMORY; (2)查詢或更改 "temp_store" 參數(shù)的設置。當 temp_store 設置為 DEFAULT(0), 使用 編譯時的C預處
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手車加盟合同范例
- 中介小產(chǎn)權(quán)合同范例
- 不押車抵押合同范例
- 出售廣告燈箱合同范例
- 公司股權(quán)出資合同范例
- 產(chǎn)品寄存服務合同范本
- 中福在線合同范例
- 農(nóng)村小超市出租合同范例
- pvc銷售合同范例
- 2024年漢中市事業(yè)單位招聘工作人員筆試真題
- 2025屆山東省菏澤市高三下學期一??荚嚉v史試題(含答案)
- 2025屆浙江省湖州、衢州、麗水高三11月三地市一??荚嚮瘜W試卷
- 2025年湖南藝術(shù)職業(yè)學院單招職業(yè)技能測試題庫參考答案
- 2025年湖南鐵道職業(yè)技術(shù)學院單招職業(yè)技能測試題庫學生專用
- 《臨床常見心理問題》課件
- 2025年廣州開發(fā)區(qū)水質(zhì)監(jiān)測中心第四次招考聘用編外人員2人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 教學課件:《民事訴訟法》(本科)
- 2024年吉林省生活垃圾清運和處理市場前景預測及投資規(guī)劃研究報告
- 2025年湖南省高職單招《語文》高頻必練考試題庫400題(含答案)
- 《SSD市場調(diào)查》課件
- 以教育家精神引領教師專業(yè)成長的價值及實踐路徑
評論
0/150
提交評論