iOS开发中的SQLite知识总结

数据库
今天我们将会谈谈iOS开发中的SQLite方面的知识。包括查询优化,查看工具等等。

一、查询优化

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

原文链接:http://www.cnblogs.com/v2m_/archive/2013/01/05/2846177.html

【编辑推荐】

  1. 优化MySQL语句的十个建议
  2. 点评:巍然耸立的SQL Server 2012
  3. 11个重要的数据库设计规则
  4. SQL Server 2008中增强的汇总技巧
  5. Twitter将开源其使用的MySQL

责任编辑:彭凡 来源: 博客园
相关推荐

2013-04-09 16:04:06

iOS开发SQLite知识总结

2014-06-10 13:44:58

iOSUIImage知识点

2013-04-01 10:49:51

iOS开发sqlite数据库

2011-08-22 16:26:25

IOS开发Sqlite数据库

2011-08-01 10:01:25

SQLite

2013-07-29 04:46:48

iOS开发iOS开发学习iOS小知识

2013-09-12 15:37:09

iOS开发流程

2011-09-02 19:12:59

IOS应用Sqlite数据库

2009-01-11 09:14:45

Javascript开发总结

2011-08-15 10:35:43

iPhone开发Atomicnonatomic

2011-08-15 10:45:11

iPhone开发delegate

2015-07-28 17:52:36

IOS知识体系

2014-03-12 10:13:00

iOSSEL对象

2013-05-02 13:06:05

C++遇到iOS应用开SQLITE

2013-03-27 09:47:01

Android开发SQAndroid SDK

2021-08-23 10:12:41

鸿蒙HarmonyOS应用

2015-03-18 09:29:12

iOS开发争议

2013-04-01 17:05:28

2017-01-19 21:45:27

iOS开发者账号

2013-05-03 13:42:20

iOS开发SQLite3存储读取
点赞
收藏

51CTO技术栈公众号