iOS開發中的SQLite知識總結


一、查詢優化

1.使用索引
  當表中的數據太多時,建立索引可以明顯提高查詢速度
  創建索引

sql> CREATE INDEX 索引名 ON 表(字段1[ASC,DESC],字段2[ASC,DESC]...)

  刪除索引

sql> DROP INDEX 索引名

  重建索引

sql> REINDEX [索引名,表名]


2.數據分析
  對表的索引的分析,ANALYZE命令令集合關於索引的統計信息並將它們儲存在數據庫的一個特殊表中,查詢優化器可以用該表來制作更好的索引選擇。 若不給出參數,所有附加數據庫中的所有索引被分析。若參數給出數據庫名,該數據庫中的所有索引被分析。若給出表名 作參數,則只有關聯該表的索引被分析。
  

sql> ANALYZE [索引名,表名]

 

二、數據清理

  大量的刪除表中的數據,SQLite並沒有釋放這些空間,需要運行如下命令精簡數據庫 

sqlite> VACUUM;

 

三、數據加密

1.自己源碼編譯
  實現源碼中預留的加密解密接口
2.使用SQLCipher
  源碼在這里
  step by step的使用過程在這里注意文章中幾個宏的下划線沒有加,不要盲目的復制粘貼
  上一步的SQLCipher源碼編譯后,目錄里面會有個sqlite的命令行程序,使用這個程序就可以給本地的數據庫加密,然后很方便的在程序中使用了。具體命令看他的文檔

四、查看工具

MesaSQLite  Mac OS X下的查看工具,當表的數據比較多時,有點慢
FireFox的 SQLite Manager插件

五、iOS開發第三方封裝

1.FMDataBase 方便的存取,在多線程中使用也很方便
2.sqlitepersistentobjects 直接讓NS對象本身就有save,load功能,讓使用者在不寫sql語句的情況下使用SQLite
已經不再更新

 

參考:
1.http://www.cnblogs.com/stephen-liu74/archive/2012/01/14/2322335.html
2.http://sqlcipher.net


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM