iOS開發中的SQLite知識總結

來源:互聯網
上載者:User

一、查詢最佳化

1.使用索引

當表中的資料太多時,建立索引可以明顯提高查詢速度

建立索引

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

刪除索引 

 
  1. sql> DROP INDEX 索引名 

重建索引

 
  1. sql> REINDEX [索引名,表名] 

2.資料分析

對錶的索引的分析,ANALYZE命令令集合關於索引的統計資訊並將它們儲存在資料庫的一個特殊表中,查詢最佳化工具可以用該表來製作更好的索引選擇。 若不給出參數,所有附加資料庫中的所有索引被分析。若參數給出資料庫名,該資料庫中的所有索引被分析。若給出表名 作參數,則只有關聯該表的索引被分析。

 
  1. sql> ANALYZE [索引名,表名] 

二、資料清理

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

 
  1. sqlite> VACUUM; 

三、資料加密

1.自己源碼編譯

實現源碼中預留的加密解密介面

2.使用SQLCipher

源碼在這裡

step by step的使用過程在這裡注意文章中幾個宏的底線沒有加,不要盲目的複製粘貼

上一步的SQLCipher源碼編譯後,目錄裡面會有個sqlite的命令列程式,使用這個程式就可以給本地的資料庫加密,然後很方便的在程式中使用了。具體命令看他的文檔

四、查看工具

MesaSQLiteMac 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

編輯精選】

  1. 最佳化MySQL語句的十個建議
  2. 點評:巍然聳立的SQL Server 2012
  3. 11個重要的資料庫設計規則
  4. SQL Server 2008中增強匯總技巧
  5. Twitter將開源其使用的MySQL

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.