小兵这段时间在优化一个程序,现在程序的效率问题集中在了数据库上。

经选型,最初使用的是SQLite,后感觉效率实在不满意,现在在测试其和FastDB这种内存数据库的性能差别。

真是不是不知道,一试吓一跳!

先说明测试环境:Win7X64,本本CPUT9500 2.6G双核,内存8G,VS2010 VC

测试数据库,一个8字段的SQLite库,没有建索引,数据总量320万。

用IMDisk建了一个内存盘,800M,NTFS非压缩格式。

下面放测试结果,并逐步解释测试的内容和步骤。

HardDisk CopyDataToFastDB :130854 Ms

这一测试是在硬盘内完成的,主要是把SQLite的库内的数据拷到FastDB内。

过程是每Insert 2W条数据到FastDB内,就Commit一次,为什么是2W条,因为太大了程序就会崩溃……

复制完成后,把硬盘内的SQLite和FastDB拷贝到RAMDisk内。

然后统计了总耗时。

Mem CopyDataToFastDB :116471 Ms

这一测试是在内存盘内完成的。先把SQLite的整个库拷贝到RAMDisk内,然后和上面的测试完全一样,只是操作从硬盘内变成了RAMDisk内而已。

计算了总耗时。

HardDisk Test Start...  以下的操作在硬盘内完成
sqlite select 10 times :16629 Ms, count: 2809  Select10次耗时,每次返回数据集的数量
fastdb select 10 times :5086 Ms, count: 2808  Select10次耗时,每次返回数据集的数量
sqlite update 10 times :16302 Ms, count: 2809  Update10次耗时,每次返回数据集的数量
fastdb update 10 times :6505 Ms, count: 2808  Update10次耗时,每次返回数据集的数量
sqlite insert 10 times :156 Ms, count: 70  Insert10次耗时,每次返回数据集的数量
fastdb insert 10 times :874 Ms, count: 69  Insert10次耗时,每次返回数据集的数量

Mem Test Start...  以下的操作在RAMDisk内完成。解释同上
sqlite select 10 times :17269 Ms, count: 2809
fastdb select 10 times :5039 Ms, count: 2808
sqlite update 10 times :16130 Ms, count: 2809
fastdb update 10 times :5912 Ms, count: 2808
sqlite insert 10 times :15 Ms, count: 70
fastdb insert 10 times :718 Ms, count: 69

可见,FastDB无论数据库文件在内存盘内还是在硬盘上,其测试结果都差别不大。SQLite结果也总体也不大,但是明显的,其Insert的速度在内存盘内快了10倍。

源码附后:也可以作为一个SQLite和FastDB的使用方法的教程来看的,呵呵。

http://download.csdn.net/source/2885415

比较令人惊叹的FastDB和SQLite的RAMDISK内的性能对比相关推荐

  1. webgl 游戏_30个令人惊叹的WebGL示例和演示

    WebGl仍在增长,尽管大多数现代浏览器都支持它,但它也可能需要在旧的浏览器上工作.在本文中,我遇到了很多WebGL的示例和演示,它们可以增进您对这项新技术的理解. 因此,请坐下来放松身心,使用最新的 ...

  2. android 三维动画效果,9款令人惊叹的HTML5 3D动画应用

    原标题:9款令人惊叹的HTML5 3D动画应用 之前我们已经向大家分享了很多HTML5动画应用了,大部分都非常炫酷,也有一小部分是很实用的.今天我们要向各位HTML5动画爱好者介绍更多的HTML5 3 ...

  3. 令人惊叹的前端路由原理解析和实现方式

    在单页应用如此流行的今天,曾经令人惊叹的前端路由已经成为各大框架的基础标配,每个框架都提供了强大的路由功能,导致路由实现变的复杂.想要搞懂路由内部实现还是有些困难的,但是如果只想了解路由实现基本原理还 ...

  4. IOS之使用AwesomeMenu框架令人惊叹的菜单

    IOS之使用AwesomeMenu框架令人惊叹的菜单 不要使用cocoaPods,有问题,直接使用文件,4个文件AwesomeMenu.h,AwesomeMenu.m和AwesomeMenuItem. ...

  5. navigator工具_推荐!11个令人惊叹的前端开发工具,值得拥有

    全文共2080字,预计学习时长6分钟 来源:Pexels 作为前端开发人员,互联网有很多令人惊叹的工具,这些工具为我们的生活提供了极大的便利. 本文将快速回顾开发工作中经常使用的 11 个工具. 大家 ...

  6. (转)20个令人惊叹的深度学习应用

    写文章 20个令人惊叹的深度学习应用(欢迎补充):Demo+Paper+Code 量子位 1 个月前 唐旭 发自 RUC 量子位 报道 | 公众号 QbitAI 从计算机视觉到自然语言处理,在过去的几 ...

  7. 使用Metal打造令人惊叹的游戏效果

    苹果最新推出的Metal框架支持GPU硬件加速.高级3D图形渲染以及大数据并行运算.且提供了先进而精简的API来确保框架的细粒度(fine-grain),并且在组织架构.程序处理.图形呈现.运算指令以 ...

  8. 设计师喜欢收集各种各样的笔刷来喽,不必倾家倾产就能像创造出令人惊叹的设计。

    一组最好的Photoshop笔刷,让您不必倾家倾产就能像专业人士一样创造出令人惊叹的设计. 我们知道设计师喜欢收集各种各样的刷子. 对于创建各种类型的设计非常有用,包括从绘画到绘画,上色,纹理,肌理等 ...

  9. 30多种免费的高级WordPress主题,适用于令人惊叹的照片,教育和房地产网站

    Premium WordPress Themes – do you want to have a modern web-resource that will promote your business ...

最新文章

  1. android 多版本打包,Android build.gradle版本名打包配置的方法
  2. linux中cut -c命令,linux中~/cut/argus/
  3. python 入门DAY1
  4. 链表数据结构图解 和 代码实现
  5. 用户管理:搭建系统微服务
  6. ssm上传文件进度条_ssm学习笔记-三种文件上传方式
  7. JDBC实例--JDBC连接池技术解密,连接池对我们不再陌生
  8. opencv-python 学习笔记1:简单的图片处理
  9. 从Mixin到hooks,谈谈对React16.7.0-alpha中即将引入的hooks的理解
  10. js浏览器回到顶部方法_基于JS实现回到页面顶部的五种写法(从实现到增强)
  11. docker machine介绍和使用
  12. 【转】PHP对象在内存中的分配
  13. FastReport 2021版中文手册PDF下载
  14. 平面方程、两平面的夹角、空间点到平面的距离公式
  15. NavMeshAgent参数及API
  16. 抖音快手如何上热门技巧IP定位让你离百万网红只差一步-阿甘电商
  17. 设置等级对照表的表格
  18. 第2关:求2个数的和
  19. 磁盘主分区转换为逻辑分区
  20. Linux SDIO WIFI Marvell8801/Marvell88w8801(六) --- Marvell Linux Wi-Fi driver介绍-WIFI插入卡槽内发生的事情

热门文章

  1. Sprig的EL表达式和读取Properties文件教程
  2. Android免费的导出微信朋友圈文字和图片的工具
  3. 一个ppp帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。
  4. 互联网摸鱼日报(2023-01-21)
  5. 硬件版--苹果ios免越狱脚本实现硬件方案
  6. java本地缓存简介
  7. reverse()函数
  8. 手机突然电量消耗很快_手机电量突然消耗快是什么原因 教你解决
  9. 关于socket error 10054
  10. 学习LSSVM以及区别LSSVM和SVM看的几篇博文