2011-05-01 138 views
0

我为我的应用程序使用WinForms和C#,我的数据主要是一些字符串,整数和许多列表。现在我将它们存储在xml和文本文件中,但我发现读取数据需要很长时间。我使用的是XmlWriter和XmlReader。例如,我有4个XML文件,总计2-3 mbs,我解析和〜250文本,我一次读取他们的内容。加载需要3-4分钟,我不使用线程。这是正常还是其他事情正在进行?我应该使用其他方式来存储我的数据吗?它是否必须这样做,我只使用一个线程?处理大量数据?

编辑 我发现了这个问题。这与阅读无关(我认为)。无论如何,假设我的数据不会超过几个MB,我应该使用数据库还是使用xml很好?

+1

它不应该那么长时间,你可能做错了什么...请张贴你的代码 – 2011-05-01 21:44:28

+0

关于你的编辑:如果这是一个“一个”,你完成了它,你也可以坚持你的XML文件,但如果你想在未来扩展和开发这个应用程序,你应该重新设计并使用DB。这也会迫使你更多地考虑什么时候需要什么数据以及如何以正确的方式构建它。 – BrokenGlass 2011-05-01 23:24:03

回答

0

你可能主要是I/O绑定在这上面,所以并行化并没有多大帮助 - 但它肯定不需要3到4分钟(更像是3到4秒) - 其他事情正在发生。

如果你有大的结构化的数据,你应该考虑一个数据库 - 然后你可以查询你需要的数据,而不必一次加载所有的数据。即SQL Server Compact在桌面应用程序中使用的占用空间非常小。