任何建议将不胜感激,我仍在学习 c#,所以如果我错过了一些明显的东西,我深表歉意。我正在使用 VS2010,应用程序使用 net 2.0
我希望尽可能加快这两个过程。第一个过程是从服务器读取数据表,然后将它们存储为缓存文件。每个缓存文件都有多个数据表。第二部分是从缓存文件中检索这些数据表并将它们存储在数据集中。
最初,该过程将数据表存储为 XML 文件,而这需要很长时间才能创建缓存文件和检索它们。运行应用程序时。这些表的大小可以从 10MB 到 400MB 不等。
我对其进行了设置,以便它在我的本地机器上构建和读取缓存文件。
我尝试使用二进制序列化,这很有帮助。它将表格缩小到 XML 文件大小的 1/6 左右,并且还加快了速度,但我希望看看是否有更快的东西。我一直在寻找一段时间,但我找不到其他任何东西。我检查了 protobuf-net,这看起来是一种加快序列化速度的绝妙方法,但从我发现数据表的情况来看,它似乎不能很好地使用它。
这里有一些数字..
Time to build Cache files:
XML-about 2 hours,
Binary - about 1 hour
Test Case for reading from Cache file:
XML - 3m 40s,
Binary - 2m 20s
我知道这是很多数据,不能指望很多,但是还有其他方法吗?