SQL CE 和 SQLite数据库对比测试
于项目需要,在客户端需要做数据存储功能,考虑到部署方便同时满足功能需要的情况下选择了SQLCE 和SQLite两种数据库进行客户端数据存储。当然还有很多其他的方式做本地数据存储,比如本地文件存储、微软的Access等也可以做本地数据存储,都不再本次测试的考虑范围之内。本次主要针对SQLCE3.5、SQLCE4.0 和SQLite数据库的性能对比。
SQL CE: 全名(SQL Server Compact)该数据库为微软的产品,免费试用;数据库存储在扩展名为.sdf,最大容量为4GB。
SQLite:开源数据库,免费试用;数据库扩展名.db 或者.db3,理论上SQLite支持140TB的容量。当然如果数据量这么大的情况下可以考虑其他的数据库。
测试方法:通过一个连接的同时操作多条数据的方式测试数据库插入、查询的处理速度;SQLCE包含两个版本SQLCE3.5和SQLCE4.0,分别进行了测试。下图为数据库测试的记录报告。
说明:该测试记录在一张有4个字段的数据表上进行测试。
操作系统:windows10
处理器:Intel(R) Core(TM) I706820HQ cpu @2.70GHz
内存:8G
硬盘:SSD

总结:
性能对比:
数据插入:不增加事务SQLCE的性能要比SQLite好很多,但是如果增加事务操作上SQLite综合效率要比SQLCE块大概5-10倍左右。
查询:SQLCE要优于SQLite 2倍左右。
修改和删除几乎差不太多。
部署方便程度对比:
在开发.NET平台的程序时,SQLite只需要一个DLL文件即可完成对数据库的操作。但是SQLCE需要额外安装SQLCE的安装包才可以支持SQLCE数据库。从这个方面说SQLCE的部署要比SQLite复杂一些。
数据库容量对比:
SQLCE只能支持4GB的数据存储量,SQLite理论上支持140TB的数据存储。所以在存储量上SQLite优势很大。
备注:以上测试只是结合业务场景需要可能存在不科学之处,仅供参考和学习使用。
测试代码:https://github.com/zhaochengshen/SQLCE-SQLiteTest.git
SQL CE 和 SQLite数据库对比测试的更多相关文章
- Electron中使用sql.js操作SQLite数据库
推荐sql.js——一款纯js的sqlite工具. 一.关于sql.js sql.js(https://github.com/kripken/sql.js)通过使用Emscripten编译SQLite ...
- Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库
下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...
- 通过Sql语句控制SQLite数据库增删改查
person类属性有Intenger id,String name,Intenger age,相应的构造方法和set get方法. package com.xh.tx.dao; import jav ...
- 通过SQL语句操作Sqlite数据库
一.数据库的创建 数据库版本为1 //Ctrl+Shift+U:大写 public static final String DATABASE_NAME ="zzw.db"; pub ...
- 用SQL语句操作Sqlite数据库的示例代码
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.databa ...
- SQL Server转sqlite数据库
下载地址:http://files.cnblogs.com/jason-davis/SQL_Server_To_SQLite_DB_Converter_bin.zip 下载地址:http://file ...
- 功能齐全、效率一流的免费开源数据库导入导出工具(c#开发,支持SQL server、SQLite、ACCESS三种数据库),每月借此处理数据5G以上
软件名:DataPie 功能:支持SQL server.SQLite.ACCESS数据库的导入.导出.存储过程调用,支持EXCEL2007.EXCEL2003.ACCESS2007. CSV文件导入数 ...
- SQL Server 链接服务器连接 SQLite数据库文件
SQL Server数据库允许通过数据库驱动程序连接各类数据库并进行操作.以下是在SQL Server 2012 R2中建立SQLite的链接服务器. 一.下载SQLite数据库的ODBC驱动程序: ...
- C# web项目中sql数据库转sqlite数据库
最近做了一个小网站,用到了一个使用sql server 2005的.net cms系统,但是现在我所买虚拟主机的服务商,不给虚拟主机提供sql server服务了,那就转数据库吧,转啥好呢,思来想去, ...
随机推荐
- 解决win环境下访问本机虚拟机中centos7 ftp服务器的问题
inux搭建ftp服务器 1.安装软件: yum install vsftpd 2.修改配置文件vsftpd.conf: vim /etc/vsftpd/vsftpd.conf 把anonymous_ ...
- AirPods 2 & Android
AirPods 2 & Android AirBattery https://play.google.com/store/apps/details?id=friedrich.georg.air ...
- springboot使用RestHighLevelClient批量插入
1.引入maven(注意版本要一致) <dependency> <groupId>org.springframework.boot</groupId> <ar ...
- oracle wm_concat 函数无法使用的情况下,使用LISTAGG()函数
http://dacoolbaby.iteye.com/blog/1698957 --20180327 重写wm_concat函数,解决行数超过上限问题 /*执行前请将APPS替换为当前登录用户*/ ...
- .Net Core实践3 配置文件
环境 .netcore2.1 / vs2017 / win10 / centos7 在.netcore项目中读取配置文件,先添加应用程序配置文件App.config.这个是类库项目的配置文件名. Sy ...
- CPU监控
题目描述 Bob需要一个程序来监视CPU使用率.这是一个很繁琐的过程,为了让问题更加简单,Bob会慢慢列出今天会在用计算机时做什么事. Bob会干很多事,除了跑暴力程序看视频之外,还会做出去玩玩和用鼠 ...
- 为Jupyter只安装目录的扩展包
项目地址:https://github.com/minrk/ipython_extensions/tree/master/nbextensions 一般都是让安装Nbextensions,而这些扩展我 ...
- BZOJ bzoj1396 识别子串
题面: bzoj1396 题解: 先建出SAM,并计算right集合大小.显然符合条件的点的right集合大小为1. 对于每个right集合为1的状态显然可以算出这些状态的pos以及maxlen和mi ...
- 我的python中级班学习之路(全程笔记第一模块) (第一章)(第2部分:如何设置python中的字体颜色,猜年龄练习题解答,while else语句,pycharm的使用)
第一章: python 基础语法 第 2 部分: 一.猜年龄练习题解答 直接上代码 >>> age = 26 >>> count = 0 >>&g ...
- 【Mac上的PotPlayer视频播放器】Movist Pro for Mac 2.1.2
[简介] Movist 是Mac上最好用的视频播放器之一,功能齐全,类似Windows上的PotPlayer,今天和大家分享最新的 2.1.2 中文版本,Movist 支持几乎所有常见的视频格式,包括 ...