比较令人惊叹的FastDB和SQLite的RAMDISK内的性能对比
小兵这段时间在优化一个程序,现在程序的效率问题集中在了数据库上。 经选型,最初使用的是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内而已。 计算了总耗时。
可见,FastDB无论数据库文件在内存盘内还是在硬盘上,其测试结果都差别不大。SQLite结果也总体也不大,但是明显的,其Insert的速度在内存盘内快了10倍。 源码附后:也可以作为一个SQLite和FastDB的使用方法的教程来看的,呵呵。 http://download.csdn.net/source/2885415 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |