SQLite效率评测!
近期因为嵌入式系统上面要用到数据库方面的东西,对于数据库,我还是第一次接触,之前保存数据要不就是ini文件,要不就是xml;全新的挑战啊;
查阅资料,得知SQLite是一个非常不错的轻量级数据库,下载,就一个源文件,感觉老外水平就是牛,C语言运用炉火纯青,赞一个!
当然得感谢网友的无私奉献,贡献了很多可以借鉴的代码以及经验,经过修改,刚开始写1000条数据消耗的时间大概是21秒,感觉速度有点慢,
觉得不对劲,继续查阅相关资料,发现有这么个说法:
没有事务的时候,SQLite的插入操作使用了太多的IO操作,而是用事务的话,只需要一次IO。(http://www.cnblogs.com/rader/articles/1543760.html)
于是果断找资料,原来sqlite,每次insert的时候都会处理一次事务,那么3W多条数据,也就3W多事务处理,就这样悲剧了.(http://www.2cto.com/database/201208/146785.html)
修改后的代码如下:
struct timeval tv, tvEnd;
int i;
sqlite3_exec( db, "BEGIN", 0, 0, 0);
gettimeofday( &tv, NULL );
printf("Start %d %d \n", tv.tv_sec, tv.tv_usec/1000);
for ( i=0; i<100000; i++ )
{
result = sqlite3_exec( db, "insert into MyTable_1( name ) values ( 'abcdefghigh' )", 0, 0, &errmsg );
if(result != SQLITE_OK )
{
printf( "插入记录失败,错误码:%d,错误原因:%s\n", result, errmsg ); //不好意思,网上拷贝人家的代码,中文;
}
}
sqlite3_exec( db, "COMMIT", 0, 0, 0);
效率如下:
Use 0 sec 739 ms
10万条记录才花7.4ms,效率确实很高啊!
SQLite效率评测!相关推荐
- Unity中SLua、Tolua、XLua和ILRuntime效率评测
Unity脚本效率评测 对SLua.Tolua.XLua和ILRuntime四个脚本插件进行效率测试,对框架脚本进行选型. 本文项目:https://github.com/cateatcatx/Uni ...
- 如何提高效率SQLITE 大数据量操作效率
今天有个朋友测试 SQLite,然后得出的结论是:SQLite 效率太低,批量插入1000条记录,居然耗时 2 分钟! using System.Data; using System.Data.Com ...
- php读sqlite速度,SQLite数据库操作速度和性能评测
SQLite 作为一个轻量级嵌入式数据库,还是非常好用的.雨痕极力推荐~~~~~~ 今天有个朋友测试 SQLite,然后得出的结论是:SQLite 效率太低,批量插入1000条记录,居然耗时 2 分钟 ...
- Sqlite大批量导入数据提高效率的几种方式
前言 SQLite数据库由于其简单.灵活.轻量.开源,已经被越来越多的被应用到中小型应用中.甚至有人说,SQLite完全可以用来取代c语言中的文件读写操作.因此我最近编写有关遥感数据处理的程序的时候, ...
- 如何高效使用SQLite .net (C#)
SQLite 作为一个轻量级嵌入式数据库,还是非常好用的. { http://sqlite.phxsoftware.com/ An open source ADO.NET provider for t ...
- C#,sqlite批量操作速度优化(插入1000条2分钟变0.2秒)
C#,sqlite批量操作速度优化 2013年11月26日 21:53:48 阅读数:2848 SQLite 作为一个轻量级嵌入式数据库,还是非常好用的.极力推荐~~~~~~ 今天有个朋友测试 SQL ...
- PHP 优秀资源汇集(转)
文章目录 原文地址: https://shockerli.net/post/php-awesome/ GitHub: https://github.com/shockerli/php-awesome ...
- CoreData介绍
http://blog.csdn.net/zh952016281/article/details/52105683 写在前面 在CoreData中有一些常用的类,称呼可能各不相同.所以这里先约定一些关 ...
- 大模型技术实践路线图出炉,唐杰牵头,近百位智源、清华、北大、MILA等顶尖研究者联合推出...
导读:随着以深度学习为代表的AI技术的快速发展,智能模型的训练应用模式逐渐由"大炼模型"向"炼大模型"转变.过去,人们根据不同的任务,利用特定的标注数据训练大量 ...
最新文章
- 专家谈计算机体系架构研究获“图灵奖”
- python3.8安装requests库_再见requests!Python下一代 http客户端出炉啦!
- Linux System Programming --Chapter Three
- 基于JAVA+SpringBoot+Mybatis+MYSQL的疾病报销管理系统
- asp.net gridview 模板列 弹出窗口编辑_如何使用极速PDF编辑器的注释工具?
- Android上使用MP3格式录制声音
- smartadmin_smartadmin官网_smartadmin下载 bootstrap 后台模板 下载-很不错的后台模板
- Unity 渲染管线总结
- 数据库学习(四)—SQL数据查询01(简单方法条件查询)
- UCOSIII总结------消息队列(6)
- 菜鸟教程,css小白入门
- 华为鸿蒙系统首发设备,华为鸿蒙系统首发设备 必须支持华为,早点甩掉安卓...
- Docker基本使用教程
- 论文翻译解读:PARIS :Probabilistic Alignment of Relations, Instances, and Schema
- 全媒体运营师胡耀文教你:如何提升线上活动参与度?分享5个技巧
- 电机仿真系列-基于LabVIEW的电机测试系统研究
- IAR修改工程名方法
- Unity3D GUI Skin
- 百行go代码构建p2p聊天室
- 学好vue靠他就行了——vue脚手架,自定义事件,插槽等复杂内容