好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

iOS开发中的SQLite知识总结

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 Manage r插件

五、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

 

 

分类:  iOS

标签:  iOS ,  sqlite ,  sqlcipher ,  MesaSQLite

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于iOS开发中的SQLite知识总结的详细内容...

  阅读:43次