快速导入MongoDb

时间:2010-08-26 09:44:46

标签: c# mongodb gridfs

我有大约200万个不同长度的字符串需要压缩并作为文件放入MongoDb GridFS。

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

有一个读取器和一个包含50个线程的线程池存储结果。它有效,但速度很慢(平均每秒100条记录)。

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

我在Windows上使用MongoDb 1.6,在C#和.NET中使用MongoCSharp驱动程序。

1 个答案:

答案 0 :(得分:4)

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

事实证明,97%的时间用于检查集合中是否存在具有相同文件名的文件。我在文件名字段中添加了一个索引,现在它的速度非常快!

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