选择合适的数据存储(SSCE,Access,XML等)

http://download.microsoft.com/download/A/4/7/A47B7B0E-976D-4F49-B15D-F02ADE638EBE/Compact_Express_Comparison.doc

当您开发一个应用程序存储和显示数据时,有很多重要的因素需要考虑。从集中存储,客户端的性能,允许客户在网络无法连通的情况下依然能使用。开发者使用了许多不同的技术来满足他们的应用程序的特殊需求,但是每种技术都有与生俱来的局限性。

1. XML
XML和其他基于文本的技术在可延续性(persistence)与序列化格式方面有优势,但他们缺少可由数据库引擎提供的丰富的查询功能,数据操作功能和事务功能。

个人评价:
XML
优势:可扩展性。高级用户可以直接修改XML文件而不需要使用开发者另行开发的配置接口。跨平台性。
劣势:当数据量大时性能可能成为瓶颈。数据查询操作的借口相对较少。LINQ to XML在这方面有比较大的改善。

2. Access(Jet)和FoxPro(dbf)
许多应用程序提供了集成的存储引擎,来满足用户的特殊需求。Access与FoxPro,作为Microsoft Office的一部分,就是其中的两个例子。它们在各自的环境(context)中运行得很好,但与VS开发环境不集成。

个人评价:
FoxPro就不予评价了,连MS都明确表名不会有下一个版本了。
Access使用OLE DB Provider,当数据量大的时候应该效率会超过XML(未经过测试),数据量小的时候应该差别不大。
可能遇到的问题是

3. SQL Server Compact Edition
这是设计用来满足应用程序直接在应用程序中嵌入一个轻量级数据引擎的需要。它是一个桌面数据库。部署是使用ClickOnce模式,安装文件1M+。

原文地址:https://www.cnblogs.com/galaxyyao/p/1541459.html