按路径加载XML文件

时间:2013-04-11 14:21:40

标签: c# .net xml

我在一个文件夹上有814,652个XML文件,文件名是从1到814,652的整数。

在我的应用程序中,我将一些xml文件加载到数据表,但加载不是即时的,有时延迟最多3秒。

是因为该文件夹包含太多文件吗?

如果我可以将文件分成多个文件夹,那会加快速度吗?

根据我从数据网格中选定行获取的文件名,我一次只读一次

请注意,我不需要遍历文件列表,我只需要加载指定的文件名。

 int filename = ;//get the value from the focused row in the datagrid
 mydatatable.ReadXml(path + @"\xmlfiles\" + filename + ".xml");

更新:将文件分成子文件夹并最小化每个文件夹的文件数量使其更慢。

2 个答案:

答案 0 :(得分:1)

假设您有NTFS文件系统(FAT32不能在一个目录中保存800k文件),this post提供了您的问题的答案,以及一些指标和建议。 不,分成几个目录只会影响性能。

在我看来,最好将所有文件合并为一个,并将其映射到内存中,或使用更方便的存储,专门用于快速索引和访问,如数据库。

答案 1 :(得分:0)

我最终使用sql server将文件分成表并使用EXI压缩XML。