关于SQLite和SQLCE的比较

本文对比分析了SQLite和SQLCE作为桌面小程序数据库的优缺点,包括性能、语法兼容性、架构概念、视图支持、外键管理、大小写敏感性以及管理工具与发布方式,为开发者提供选择建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在网上也看了很多关于SQLite和sqlce的文章,也算是对他们的了解。这两者存在的意义,主要面向的是嵌入式数据库,当然你要是把他作为桌面小程序数据持久的工具,当然也不错。

在这里就不再说你为什么排除这两者之外其他的数据库了,可能是项目的原因;可能只是想给客户演示,不想搞的太大;背景有很多,在这里说他作为桌面小程序的数据库而存在,该如何选择。

据说SQLite比sqlce的速度很快很多,要4到5倍,但是我没做数据性的测试,但是肯定的是SQLite应该确实比sqlce快吧。SQLite的sql语法基本上还是和sqlserver的语法比较接近的,如果你有关系型数据库sql语法的经验,对于SQLite的sql掌握是很快的。对于sqlce来说,你就完全不用改变了,他和sqlserver的sql语法是一样的,都是微软的产品。

说到这里,如果你考虑以后程序的升级和扩展,数据库方面的话,从sqlce升级到sqlserver要比SQLite容易些,起码在使用sql的语法上不用怎么变动。但是话又说回来,不管你选择哪个要升级到sqlserver你的程序肯定多多少少要改变点的吧。

以下是个人的经验,SQLite和sqlce都没有架构的概念了,我说的是像sqlserver的dbo一样的架构。另外,sqlce也没有视图的概念了,但是在SQLite中可以存在视图。同时SQLite没有外键的概念,而sqlce和sqlserver一样存在外键,不过有的版本的SQLite管理工具给SQLite数据库弄了外键,不过我在使用的时候总是不好用对于外键。还有点很大的区别,SQLite和Oracle一样默认是区分大小写的,而sqlce默认不区分大小写和sqlserver一样,呵呵微软就是另类。如果你习惯sqlserver的话,在定义SQLite数据库结构时为了不区分大小写可以在ddl后加上collate nocase,如果你细心的话会发现sqlserver的ddl一样都加了collate Chinese......一长串,也是针对是否区分大小写、重音之类的。

还有就是对于这俩数据库的管理工具,SQLite的有很多,如sqliteadmin、SQLiteExpertPers(个人版免费)、DatabaseNet等等,现在sqliteadmin基本上不再维护了,SQLiteExpertPers也不错,界面很漂亮,但是个人版提供的功能还是太少了,风格也不太习惯。另外就是DatabaseNet,这家伙是针对各种数据库的管理工具,对SQLite和sqlce都支持,并且个人版提供的功能都还不错,操作风格非常像sqlserver的官方管理工具ssms,如果以前你经常使用ssms,DatabaseNet是不错的选择。

另外还要考虑,如果你是给客户做的项目,到客户那里维护的时候携带那种管理工具最方便,以上我说了3中工具,前两种基本上只带安装后的两个文件就可以了,DatabaseNet需要framework4.0以上的版本的,你要考虑客户机器的环境。

最后就是使用这两种数据库的发布,SQLite只需要引用一个dll即可,而sqlce发布是需要安装个sqlce的运行时环境,多这一点麻烦。

下载sqliteadmin    访问密码 19cb

SQLiteExpertPersSetup   访问密码 fbf5

例子   访问密码 13c3

-------------------------------------------以下2014-6-20

1.其实SQLite的datetime数据类型并不像网上说的那么玄,我指的是用C#引用官网SQLite访问驱动System.Data.SQLite.dll,参数形式写sql,其实不用考虑SQLite内部是什么形式保存方式。

2.sqlce和SQLite相比,sqlce没有事务处理方式,也即不存在事务。如果都是批处理方式,同样不加事务,那么sqlce比SQLite快大概8倍;如果使用事务处理,SQLite比sqlce快大概1倍。当然还要根据你处理这批数据的大小。


sql server ce 的工具 非常有用 SQL Server 2005 移动版(SQL Server Mobile)或SQL Server 2000 Windows CE 2.0版(SQL Server CE 2.0)的企业个人用户如果计划与SQL Server 2000或SQL Server 2005数据库保持同步,需要在您运行Microsoft Internet Information Services(IIS)的服务器上安装互联工具。 本页内容表述的是互联工具。请注意文件名中的“xx”是代表安装语言的标识符。最初仅有英文互联工具信息(“en”即标识符“XX”)。为满足向后兼容的需要,我们提供SQL Server CE 2.0复制软件。 请查阅安装互联工具的设置说明。 1. Microsoft SQL Server 2005移动版服务器工具(sqlce30setupxx.msi)在IIS 箱中安装SQL Server Mobile复制组件。 这个组件用于把移动设备中的SQL Server Mobile连接到SQL Server 2005、SQL Server 2000 SP3a、及 SQL Server 2000 SP4数据库。 2. Microsoft SQL Server 2000 Service Pack 4复制组件(sql2kxxsp4.msi)在IIS机器中安装SQL Server 2000 SP3a复制组件。这个组件用于把移动设备中的SQL Mobile数据库连接到SQL Server 2000 SP4数据库。 3. Microsoft SQL Server 2000 Service Pack 3a复制组件(sql2kxxsp3a.msi)在IIS机器中安装 SQL Server CE 2.0 及 SQL Server 2000 SP4 复制组件。 该组件用于把移动设备中的SQL Server CE 2.0数据库连接到SQL Server 2000 SP3a数据库。 4. 用于SQL Server 2000 SP4 (sqlce20sql2ksp4.exe)的SQL Server CE 2.0 复制组件在IIS机器中安装 SQL Server CE 2.0 及 SQL Server 2000 SP4 复制组件。该组件用于把移动设备中的SQL Server CE 2.0数据库连接到SQL Server 2000 SP4。 5. 用于SQL Server 2000 SP3a (sqlce20sql2ksp3a.exe)的SQL Server CE 2.0复制组件在IIS机器中安装SQL Server CE 2.0 及 SQL Server 2000 SP3a 复制组件。该组件用于把移动设备中的SQL Server CE 2.0数据库连接到SQL Server 2000 SP3a 数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值