主页 > 知识库 > SQLite优化方法

SQLite优化方法

热门标签:奥维地图标注字体大小修改 江西稳定外呼系统供应商 中国地图标注省份用什么符号 高德地图标注电话怎么没了 智能电销机器人教育 北京智能外呼系统供应商家 孝感销售电销机器人厂家 无锡梁溪公司怎样申请400电话 电话机器人录音师薪资
例如:向数据库中插入100万条数据,在默认的情况下如果仅仅是执行

sqlite3_exec(db, “insert into name values ‘lxkxf', ‘24'; ”, 0, 0, zErrMsg);

将会重复的打开关闭数据库文件100万次,所以速度当然会很慢。因此对于这种情况我们应该使用“事务”。

具体方法如下:在执行SQL语句之前和SQL语句执行完毕之后加上

rc = sqlite3_exec(db, "BEGIN;", 0, 0, zErrMsg);

//执行SQL语句

rc = sqlite3_exec(db, "COMMIT;", 0, 0, zErrMsg);



这样SQLite将把全部要执行的SQL语句先缓存在内存当中,然后等到COMMIT的时候一次性的写入数据库,这样数据库文件只被打开关闭了一次,效率自然大大的提高。有一组数据对比:



测试1: 1000 INSERTs

CREATE TABLE t1(a INTEGER, b INTEGER, c VARCHAR(100));
INSERT INTO t1 VALUES(1,13153,'thirteen thousand one hundred fifty three');
INSERT INTO t1 VALUES(2,75560,'seventy five thousand five hundred sixty');
... 995 lines omitted
INSERT INTO t1 VALUES(998,66289,'sixty six thousand two hundred eighty nine');
INSERT INTO t1 VALUES(999,24322,'twenty four thousand three hundred twenty two');
INSERT INTO t1 VALUES(1000,94142,'ninety four thousand one hundred forty two');

SQLite 2.7.6:
13.061

SQLite 2.7.6 (nosync):
0.223




测试2: 使用事务 25000 INSERTs

BEGIN;
CREATE TABLE t2(a INTEGER, b INTEGER, c VARCHAR(100));
INSERT INTO t2 VALUES(1,59672,'fifty nine thousand six hundred seventy two');
... 24997 lines omitted
INSERT INTO t2 VALUES(24999,89569,'eighty nine thousand five hundred sixty nine');
INSERT INTO t2 VALUES(25000,94666,'ninety four thousand six hundred sixty six');
COMMIT;

SQLite 2.7.6:
0.914

SQLite 2.7.6 (nosync):
0.757




可见使用了事务之后却是极大的提高了数据库的效率。但是我们也要注意,使用事务也是有一定的开销的,所以对于数据量很小的操作可以不必使用,以免造成而外的消耗。
您可能感兴趣的文章:
  • Android开发之SQLite的使用方法
  • SQLite 中文指南之FAQ
  • SQLite中的B-Tree实现细节分析
  • sqlite中文乱码问题原因分析及解决
  • SQLite3中的日期时间函数使用小结
  • sqlite3 top的查询及limit语法介绍
  • Sqlite 常用函数 推荐
  • SQLite 错误码整理
  • sQlite常用语句以及sQlite developer的使用与注册

标签:泰州 临沧 通化 荆州 那曲 海北 阜阳 齐齐哈尔

巨人网络通讯声明:本文标题《SQLite优化方法》,本文关键词  SQLite,优化,方法,SQLite,优化,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《SQLite优化方法》相关的同类信息!
  • 本页收集关于SQLite优化方法的相关信息资讯供网民参考!
  • 推荐文章