|
|
51CTO旗下网站
|
|
移动端

iOS开发中的SQLite知识总结

对表的索引的分析,ANALYZE命令令集合关于索引的统计信息并将它们储存在数据库的一个特殊表中,查询优化器可以用该表来制作更好的索引选择。 若不给出参数,所有附加数据库中的所有索引被分析。若参数给出数据库名,该数据库中的所有索引被分析。若给出表名 作参数,则只有关联该表的索引被分析。

作者:佚名来源:bbs.125.la|2013-04-09 16:04

一、查询优化

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的命令行程序,使用这个程序就可以给本地的数据库加密,然后很方便的在程序中使用了。具体命令看他的文档

四、查看工具
MesaSQLiteMac OS X下的查看工具,当表的数据比较多时,有点慢
FireFox的 SQLite Manager插件

五、iOS开发第三方封装
1.FMDataBase 方便的存取,在多线程中使用也很方便
2.sqlitepersistentobjects 直接让NS对象本身就有save,load功能,让使用者在不写sql语句的情况下使用SQLite

【编辑推荐】

  1. iOS开发隐藏键盘方法总结
  2. iOS学习之UINavigationController详解与使用(一)
  3. iOS开发:系统声音服务
  4. iOS Xcode制作静态库详解
  5. iOS SQLite基础内容简介
【责任编辑:闫佳明 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

226人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

87人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 51CTO叶老师

483人订阅学习

读 书 +更多

数据库系统工程师考试全程指导

为了满足广大考生的需要,我们组织了参与过多年资格考试命题或辅导的教师,以新的考试大纲为依据,编写了《数据库系统工程师考试全程指导》...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客