MongoDB的需要很长的索引

问题描述:

我有以下设置:MongoDB的需要很长的索引

  • 的Mac Pro与2GB内存(是的,没有那么多)
  • 的MongoDB 1.1.3 64位
  • 800万项在一个单一的集合
  • 指数为一个字段(整数)希望

调用.ensureIndex(...)需要一个多小时,其实我杀的过程后,那。我的印象是,这需要太长时间。此外,我终止了这个过程,但之后可以看到.getIndexes()

有人知道这里出了什么问题吗?

在现有数据集上添加索引预计需要一段时间,因为需要构建整个BTree。如果你认为这样做的时间不合理,或者你已经看到了性能的回落,最好的办法是在the list上询问一下。

我只是想指出的命令:

db.currentOp() 

其打印服务器上运行的现有业务,同时也显示了索引过程。

前景索引分3步完成,背景1分2步(如果我没记错的话),但背景较慢。另一方面,前台一方在索引它的同时锁定集合(即在正在运行的应用程序服务器上不是非常有用)。

如前所述,谷歌BTree如果你有兴趣他们如何工作。

有人知道这里出了什么问题吗?

你是通过SSH运行还是以某种方式远程连接?听起来有点像破管问题。您是否使用{background:true}创建索引?