寻找在本地磁盘上存储数据的想法

2024-03-22

我在 XML 文件中存储了大量数据,大小为 173 MB(460 万行),并将其存储在 Windows 窗体应用程序的工作目录中。它是将数据表写入 XML 文件的结果。数据表最初是通过对 SQL 服务器的查询填充的。

我将其存储在本地而不是从服务器请求的原因是数据请求花费了 40 秒以上并且有时会超时,并且数据是静态的并且永远不会改变,而且用户可以离线并仍然使用数据。

将文件加载回数据表需要 20-30 秒。我不太担心从磁盘加载所需的时间,因为我让用户知道数据正在加载并保持耐心。不过,我不喜欢 XML 文件格式,并且正在寻找其他磁盘存储想法。

数据表仅用作最终填充集合对象的中间人。如果您有建议,我想听听。

我希望远离数据库解决方案并倾向于二进制文件方法。以下是我的第一次尝试,但出现内存不足异常:

byte[] b = null;

using (MemoryStream stream = new MemoryStream())
{
   BinaryFormatter bformatter = new BinaryFormatter();
   bformatter.Serialize(stream, timeData);
   b = stream.ToArray();
}

using (FileStream fileStream = new
   FileStream("brad.bin", FileMode.Create, FileAccess.Write))
{
   fileStream.Write(b, 0, b.Length);
}

我会看一个紧凑的(本地)数据库,例如SQL服务器CE http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx or SQLite http://www.sqlite.org/。数据库正是为此而设计的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

寻找在本地磁盘上存储数据的想法 的相关文章

随机推荐