我正在寻找可用于C#应用程序的大量数据的最快,耗能最少,独立的存储方法。
我最初的想法:
基本上我正在寻找的是,我可以加载我的应用程序加载,保存我的应用程序中的所有数据,以及当我的应用程序中的数据更改时只更新存储位置。
答案 0 :(得分:6)
您可以使用Sqlite之内的进程(无服务器)数据库,如Sql Server Compact
答案 1 :(得分:3)
Sql:没有。不要孤单
这取决于你所说的“独立”......一些DBMS 独立而且不需要服务器:
答案 2 :(得分:1)
二进制序列化器?有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/72hyey7b(VS.71).aspx。
这有点像xml序列化程序,虽然它是二进制数据。它通常要小很多。
但是,您还需要考虑其他事项:#
答案 3 :(得分:1)
大到多大?在解除XML之前,请仔细检查您对XML解析性能的假设 XML很好的原因是因为您可以使用文本编辑器修补数据。 用二进制存储不能轻易做到这一点。
此外,SQL Server还有一个嵌入式版本。 It's called "Compact Edition",它可以嵌入到您的C#应用中。免费许可证。 Read more.
答案 4 :(得分:0)
我不确定你在寻找什么,但如果我需要在C#中使用一些简单的平面文件存储,我通常只使用linq2csv。它的快速,高效和类型安全,还有一个额外的好处,你可以编辑excel(或其他)中的文件,这使得它很容易。虽然它显然不适用于分层或高度关系数据,但它对于简单的表格数据来说非常容易,而且比XML更紧凑。
它提供了非常简单的写入和读取方法,可以轻松地将更改同步到文件系统。
答案 5 :(得分:0)
我认为也许虚拟文件系统可以完成这项工作。例如,请参阅Solid File System。它允许您在文件中创建文件系统,具有某些类似DB的搜索功能。它看起来很适合你的需求。