達人分享:iOS開發(fā)中的SQLite知識總結
博客園 發(fā)表于:13年02月04日 14:00 [轉載] 51CTO
一、查詢優(yōu)化
1.使用索引
當表中的數(shù)據太多時,建立索引可以明顯提高查詢速度
創(chuàng)建索引
- sql> CREATE INDEX 索引名 ON 表(字段1[ASC,DESC],字段2[ASC,DESC]...)
刪除索引
- sql> DROP INDEX 索引名
重建索引
- sql> REINDEX [索引名,表名]
2.數(shù)據分析
對表的索引的分析,ANALYZE命令令集合關于索引的統(tǒng)計信息并將它們儲存在數(shù)據庫的一個特殊表中,查詢優(yōu)化器可以用該表來制作更好的索引選擇。 若不給出參數(shù),所有附加數(shù)據庫中的所有索引被分析。若參數(shù)給出數(shù)據庫名,該數(shù)據庫中的所有索引被分析。若給出表名 作參數(shù),則只有關聯(lián)該表的索引被分析。
- sql> ANALYZE [索引名,表名]
二、數(shù)據清理
大量的刪除表中的數(shù)據,SQLite并沒有釋放這些空間,需要運行如下命令精簡數(shù)據庫
- sqlite> VACUUM;
三、數(shù)據加密
1.自己源碼編譯
實現(xiàn)源碼中預留的加密解密接口
2.使用SQLCipher
源碼在這里
step by step的使用過程在這里注意文章中幾個宏的下劃線沒有加,不要盲目的復制粘貼
上一步的SQLCipher源碼編譯后,目錄里面會有個sqlite的命令行程序,使用這個程序就可以給本地的數(shù)據庫加密,然后很方便的在程序中使用了。具體命令看他的文檔
四、查看工具
MesaSQLiteMac OS X下的查看工具,當表的數(shù)據比較多時,有點慢
FireFox的 SQLite Manager插件
五、iOS開發(fā)第三方封裝
1.FMDataBase 方便的存取,在多線程中使用也很方便
2.sqlitepersistentobjects 直接讓NS對象本身就有save,load功能,讓使用者在不寫sql語句的情況下使用SQLite