達(dá)人分享:iOS開(kāi)發(fā)中的SQLite知識(shí)總結(jié)
博客園 發(fā)表于:13年02月04日 14:00 [轉(zhuǎn)載] 51CTO
一、查詢優(yōu)化
1.使用索引
當(dāng)表中的數(shù)據(jù)太多時(shí),建立索引可以明顯提高查詢速度
創(chuàng)建索引
- sql> CREATE INDEX 索引名 ON 表(字段1[ASC,DESC],字段2[ASC,DESC]...)
刪除索引
- sql> DROP INDEX 索引名
重建索引
- sql> REINDEX [索引名,表名]
2.數(shù)據(jù)分析
對(duì)表的索引的分析,ANALYZE命令令集合關(guān)于索引的統(tǒng)計(jì)信息并將它們儲(chǔ)存在數(shù)據(jù)庫(kù)的一個(gè)特殊表中,查詢優(yōu)化器可以用該表來(lái)制作更好的索引選擇。 若不給出參數(shù),所有附加數(shù)據(jù)庫(kù)中的所有索引被分析。若參數(shù)給出數(shù)據(jù)庫(kù)名,該數(shù)據(jù)庫(kù)中的所有索引被分析。若給出表名 作參數(shù),則只有關(guān)聯(lián)該表的索引被分析。
- sql> ANALYZE [索引名,表名]
二、數(shù)據(jù)清理
大量的刪除表中的數(shù)據(jù),SQLite并沒(méi)有釋放這些空間,需要運(yùn)行如下命令精簡(jiǎn)數(shù)據(jù)庫(kù)
- sqlite> VACUUM;
三、數(shù)據(jù)加密
1.自己源碼編譯
實(shí)現(xiàn)源碼中預(yù)留的加密解密接口
2.使用SQLCipher
源碼在這里
step by step的使用過(guò)程在這里注意文章中幾個(gè)宏的下劃線沒(méi)有加,不要盲目的復(fù)制粘貼
上一步的SQLCipher源碼編譯后,目錄里面會(huì)有個(gè)sqlite的命令行程序,使用這個(gè)程序就可以給本地的數(shù)據(jù)庫(kù)加密,然后很方便的在程序中使用了。具體命令看他的文檔
四、查看工具
MesaSQLiteMac OS X下的查看工具,當(dāng)表的數(shù)據(jù)比較多時(shí),有點(diǎn)慢
FireFox的 SQLite Manager插件
五、iOS開(kāi)發(fā)第三方封裝
1.FMDataBase 方便的存取,在多線程中使用也很方便
2.sqlitepersistentobjects 直接讓NS對(duì)象本身就有save,load功能,讓使用者在不寫(xiě)sql語(yǔ)句的情況下使用SQLite
公司簡(jiǎn)介 | 媒體優(yōu)勢(shì) | 廣告服務(wù) | 客戶寄語(yǔ) | DOIT歷程 | 誠(chéng)聘英才 | 聯(lián)系我們 | 會(huì)員注冊(cè) | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.