Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在大量目录中快速搜索存储在XML文件中的数据?_C#_.net_Database_Service - Fatal编程技术网

C# 如何在大量目录中快速搜索存储在XML文件中的数据?

C# 如何在大量目录中快速搜索存储在XML文件中的数据?,c#,.net,database,service,C#,.net,Database,Service,过去一年我一直在从事的一个项目在每次执行任务时都会将日志文件写入网络驱动器。我们目前有大约1300个文件夹,每个文件夹都有许多文件和文件夹。这里重要的一点是,每个文件夹中平均有3-4个XML文件,其中包含产品的序列号和其他标识数据。早期只使用Windows文件搜索很容易,但现在用这种方式搜索可能需要10分钟以上。对日志查看器/搜索器的需求已经出现,我需要找出如何使其快速。我们正在考虑一些想法。一个是本地存储的XML索引文件,但我认为它最终会变得太大而不能太快。第二个是创建一个文件夹监视服务,将索

过去一年我一直在从事的一个项目在每次执行任务时都会将日志文件写入网络驱动器。我们目前有大约1300个文件夹,每个文件夹都有许多文件和文件夹。这里重要的一点是,每个文件夹中平均有3-4个XML文件,其中包含产品的序列号和其他标识数据。早期只使用Windows文件搜索很容易,但现在用这种方式搜索可能需要10分钟以上。对日志查看器/搜索器的需求已经出现,我需要找出如何使其快速。我们正在考虑一些想法。一个是本地存储的XML索引文件,但我认为它最终会变得太大而不能太快。第二个是创建一个文件夹监视服务,将索引信息写入SQL数据库并链接到文件。第三个想法是让编写日志文件的程序也将索引信息写入数据库。第二个数据库选项听起来像是目前最好的选择,因为我们已经有一堆需要索引的历史记录,但对我来说,这听起来有点复杂。简而言之,我的问题是:如何在大量且不断增长的目录中快速搜索XML文件中包含的信息?

我们最终使用SQL数据库来完成这项工作,原因有很多:

  • 在模拟的10年数据增长中,它保持了比XML(大约20-30秒)快得多的查询时间(1.5 mil-2 mil条目的时间仍然不到2秒)
  • 我们可以让应用程序直接将数据发布到数据库,这样就不需要爬虫(除了初始遗留数据)
  • 如果我们决定将文件托管在网络上的某个位置,则可能会出现文件锁定的潜在问题

  • 我们最终使用SQL数据库来完成这项工作,原因有很多:

  • 在模拟的10年数据增长中,它保持了比XML(大约20-30秒)快得多的查询时间(1.5 mil-2 mil条目的时间仍然不到2秒)
  • 我们可以让应用程序直接将数据发布到数据库,这样就不需要爬虫(除了初始遗留数据)
  • 如果我们决定将文件托管在网络上的某个位置,则可能会出现文件锁定的潜在问题