iOS開發(fā)中的SQLite知識(shí)總結(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ù)分析
對(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并沒有釋放這些空間,需要運(yùn)行如下命令精簡(jiǎn)數(shù)據(jù)庫(kù) 
- sqlite> VACUUM;
 
三、數(shù)據(jù)加密
1.自己源碼編譯
實(shí)現(xiàn)源碼中預(yù)留的加密解密接口
2.使用SQLCipher
源碼在這里
step by step的使用過(guò)程在這里注意文章中幾個(gè)宏的下劃線沒有加,不要盲目的復(fù)制粘貼
上一步的SQLCipher源碼編譯后,目錄里面會(huì)有個(gè)sqlite的命令行程序,使用這個(gè)程序就可以給本地的數(shù)據(jù)庫(kù)加密,然后很方便的在程序中使用了。具體命令看他的文檔
四、查看工具
MesaSQLiteMac OS X下的查看工具,當(dāng)表的數(shù)據(jù)比較多時(shí),有點(diǎn)慢
FireFox的 SQLite Manager插件
五、iOS開發(fā)第三方封裝
1.FMDataBase 方便的存取,在多線程中使用也很方便
2.sqlitepersistentobjects 直接讓NS對(duì)象本身就有save,load功能,讓使用者在不寫sql語(yǔ)句的情況下使用SQLite















 
 
 
 
 
 
 