按路径加载XML文件

本文关键字:文件 XML 加载 路径 | 更新日期: 2023-09-27 18:08:34

在一个文件夹中有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");

update:将文件划分到子文件夹,并尽量减少每个文件夹的文件数量,使其更慢

按路径加载XML文件

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

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

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