上周在 ruby-china 上发了帖子《MongoDB 那些坑》,反映相当热烈,许多回复很有见地,其中一位童鞋深入的提到 MongoDB 建索引方法的问题,引发我更深入的了解了 MongoDB 建索引的方法和一些注意事项。
在 《MongoDB 那些坑》中提到,在前台直接运行建立索引命令的话,将造成整个数据库阻塞,因此索引建议使用 background 的方式建立。但是这也会带来一定的问题,在 2.6 版本之前,在 secondary server 中即使使用 background 方式建立索引,secondary 还是会以 foreground 方式建立索引,它导致 secondary 同样引发数据库阻塞问题。2.6 版本修复了这个 Bug,2.6 版之后使用 background 方式建立索引时,真正转向后台运行了。
为了尽量降低建立索引对 MongoDB Server 的影响,有一种方法是把 MongoDB Server 转换成 standalone 模式后建立。具体做法如下:
1.首先把 secondary server 停止,在取消 --replSet 参数,并且更改 MongoDB port 之后重新启动 MongoDB,这时候 MongoDB 将进入 standalone 模式;
2.在 standalone 模式下运行命令 ensureIndex 建立索引,建议使用 foreground 方式运行;
3.建立索引完毕之后关闭 secondary server 按正常方式启动;
4.根据上述 1~3 的步骤轮流为 secondary 建立索引,最后把 primary server 临时转换为 secondary server,同样按 1~3 的方法建立索引,再把其转换为 primary server。
这种方式还是比较麻烦的,但可以把建立索引操作对 MongoDB 的影响降到最低,在有些情况下还是值得做的。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 萧萧.2006-IM萧萧【海蝶】【WAV+CUE】
- 这也太香了!《剑星》推出1:4比例活肤战衣雕像
- Steam官方确认:限制《地狱潜者2》上架国家是索尼决定
- 亚当兰伯特踢馆《歌手》登热搜 网友:那英压力巨大
- 群星《当我跑步时我什么都不想 影视原声带》[320K/MP3][34.72MB]
- 群星《当我跑步时我什么都不想 影视原声带》[24bit 48kHz][FLAC/分轨][187.21MB]
- 韩红/陈萨《沉默的光影》[320K/MP3][101.74MB]
- 吳雨霏.2015-霏凡精选2CD【金牌大风】【WAV+CUE】
- 丁欣睿.2023-宜享受太阳雨【StreetVoice】【FLAC分轨】
- 群星.1993-宝丽金真的爱你3CD【宝丽金】【WAV+CUE】
- dnf110满级后平民去哪打装备
- dnf110自定义史诗和固定史诗区别
- dnf110自定义史诗有几件
- 张国荣1979-情人箭[Polydor][APE+CUE]
- KOKIA-歌か?チカラ(2004K2HD2015mora)[96-24]FLAC