iOS開發(fā)中的SQLite知識總結(jié)
一、查詢優(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ù)分析
對表的索引的分析,ANALYZE命令令集合關(guān)于索引的統(tǒng)計(jì)信息并將它們儲存在數(shù)據(jù)庫的一個特殊表中,查詢優(yōu)化器可以用該表來制作更好的索引選擇。 若不給出參數(shù),所有附加數(shù)據(jù)庫中的所有索引被分析。若參數(shù)給出數(shù)據(jù)庫名,該數(shù)據(jù)庫中的所有索引被分析。若給出表名 作參數(shù),則只有關(guān)聯(lián)該表的索引被分析。
- sql> ANALYZE [索引名,表名]
二、數(shù)據(jù)清理
大量的刪除表中的數(shù)據(jù),SQLite并沒有釋放這些空間,需要運(yùn)行如下命令精簡數(shù)據(jù)庫
- sqlite> VACUUM;
三、數(shù)據(jù)加密
1.自己源碼編譯
實(shí)現(xiàn)源碼中預(yù)留的加密解密接口
2.使用SQLCipher
源碼在這里
step by step的使用過程在這里注意文章中幾個宏的下劃線沒有加,不要盲目的復(fù)制粘貼
上一步的SQLCipher源碼編譯后,目錄里面會有個sqlite的命令行程序,使用這個程序就可以給本地的數(shù)據(jù)庫加密,然后很方便的在程序中使用了。具體命令看他的文檔
四、查看工具
MesaSQLiteMac OS X下的查看工具,當(dāng)表的數(shù)據(jù)比較多時(shí),有點(diǎn)慢
FireFox的 SQLite Manager插件
五、iOS開發(fā)第三方封裝
1.FMDataBase 方便的存取,在多線程中使用也很方便
2.sqlitepersistentobjects 直接讓NS對象本身就有save,load功能,讓使用者在不寫sql語句的情況下使用SQLite
已經(jīng)不再更新
參考:
1.http://www.cnblogs.com/stephen-liu74/archive/2012/01/14/2322335.html
2.http://sqlcipher.net
原文鏈接:http://www.cnblogs.com/v2m_/archive/2013/01/05/2846177.html
【編輯推薦】