C#-快速导入MongoDb

我需要压缩大约200万个不同长度的字符串,并将其作为文件放入MongoDb GridFS中.

字符串当前存储在表的MS SQL TEXT字段中.我编写了一个示例应用程序来读取每一行,对其进行压缩并将其存储为GridFS文件.

有一个读取器和一个包含50个线程的线程池来存储结果.它可以工作,但是非常慢(平均每秒100条记录).

我想知道是否有任何方法可以更快地导入GridFS?

我在Windows上将MongoDb 1.6与C#和.NET中的MongoCSharp驱动程序配合使用.

解决方法:

我想我在运行一个非常简单的应用程序时对它进行了分析,从而发现了MongoDb CSharp驱动程序中的问题,该应用程序将1000个字符串放入1000个GridFS文件中.

事实证明,有97%的时间用于检查集合中是否存在具有相同文件名的文件.我在文件名字段上添加了索引,并且现在速度很快!

对我来说,问题是驱动程序是否需要保持文件名唯一并进行检查,如果缺少该文件,为什么不向其添加唯一索引呢?这是什么原因呢?

上一篇:javascript-在GridFS中显示图像


下一篇:Mybatis动态sql