位置: 编程技术 - 正文
推荐整理分享MongoDB中创建索引需要注意的事项(mongodb索引存储方式),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mongodb设置索引,mongodb索引存储方式,mongodb创建索引太慢了怎么办,mongdb创建索引,mongodb设置索引,mongodb创建索引太慢了怎么办,mongodb创建索引太慢了怎么办,mongodb创建索引太慢了怎么办,内容如对您有帮助,希望把文章链接给更多的朋友!
上周在 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 的影响降到最低,在有些情况下还是值得做的。
Windows下MongoDB配置用户权限实例 MongoDB默认设置为无权限访问限制注:研究成果基于Windows平台在部署mongodb成功后,进入控制台:输入命令:mongoduseadmin,你会发现该DB下包含了一个system
Mongodb数据库的备份与恢复操作实例 写在前面本文已经假设你已经安装好了Mongodb(2.6),并且已经开启了auth。用户首先我们添加备份和恢复数据所需的用户,这个用户需要有readWrite和userAdmin
Mongodb批量删除gridfs文件实例 平台有大量的图片已经不用了,数量级达到百万张,差不多G的空间,放着不管是不是太浪费了?db.fs.files.find({filename:/xxx/}).forEach(function(n){db.fs.files.upd
标签: mongodb索引存储方式
本文链接地址:https://www.jiuchutong.com/biancheng/312736.html 转载请保留说明!友情链接: 武汉网站建设