MongoDB的常见问答—索引
来源:互联网 发布:ubuntu 16.04 安装ie 编辑:程序博客网 时间:2024/05/20 05:09
这篇文章提出了一些关于索引的常见问题,更详细的信息请参见https://docs.mongodb.com/manual/faq/indexes/
一、如何创建索引?
在集合上创建索引采用db.collection.createIndex()方法. 创建索引属于管理性的操作。一般来说,应用程序不应该经常地调用db.collection.createIndex()方法。
注意:
建立索引影响性能。参考建立索引是如何影响数据库性能的?管理员在建立索引之前应该仔细考虑其对数据库性能的影响。
二、建立索引是如何影响数据库性能的?
当为一个集合创建索引时,集合所在的数据库在索引建立完成之前是不允许读和写操作的。如果你想要建立一个大型的索引,你应该考虑在后台建立索引和在副本集上建立索引。
三、如何查看在一个集合上都有哪些索引?
用db.collection.getIndexes()方法
四、如何查看一条查询语句是否应用了索引?
用explain()方法检查MongoDB 如何处理一条查询。
五、如何确定应该在哪些字段上建立索引?
在哪些字段上建立索引有很多决定因素,包括选择率(选择率是一个查询利用索引缩小结果集的能力)、多查询模型的支持(query shape是指查询谓词、排序和投影规范的组合)、索引的大小。
六、如何查看索引的大小?
db.collection.stats()包含集合上每一个索引的大小信息。
七、写操作如何影响索引?
写操作有可能会更新索引。
如果写操作更改了一个索引字段,MongoDB 会更新将更改字段作为key的所有索引。
当使用MMAPv1存储引擎时,如果一个更新操作引起一个文档的大小超过为其分配的记录大小,MongoDB 会将该文档转移到一个新的记录中,此时就需要更新与该文档有关的所有索引,不管字段的修改。
所以,如果你的应用写操作很频繁,索引就会影响性能。
- MongoDB的常见问答—索引
- MongoDB的常见问答—MongoDB的基本原理
- mongoDB常见的查询索引
- MongoDB 常见的查询索引
- SQL的索引问答
- J2EE的常见问答
- 关于WAP的常见问答
- 关于“我们”的常见问答
- 慕课网《MongoDB入门篇》课程 第4章 mongoDB常见的查询索引
- MongoDB:mongodb的索引操作
- MongoDB:mongodb的索引操作
- [MongoDB--问答]--频繁问的问题
- MongoDB—索引的建立与维护
- mongodb的地理位置索引
- mongodb的地理位置索引
- mongoDB的索引
- Mongodb的索引
- mongodb的地理位置索引
- 苹果开发者计划电话
- 关于人生的一些思考
- Linux下禁用root远程登录并且新建一个用户赋予root权限
- weui学习总结——1、weui表单常用标签
- json to bean 和 bean to json
- MongoDB的常见问答—索引
- mysql处理重复数据
- activiti designer插件安装(MyEclipse 10,解决bpmn不能打开问题)
- vim大小写转换
- [js高手之路]面向对象+设计模式+继承一步步改造简单的四则运算
- java对象与json对象间的相互转换
- JAVA
- linux 常用命令分类整理
- 【广告算法工程师入门 5】百度搜索引擎变现策略指标体系