MongoDB 索引-9详解数据库
2023-06-13 09:20:09 时间
MongoDB 索引
Boolean 建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引,即增加 background 可选参数。 background 默认值为false。
string 索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。
Boolean 3.0+版本已废弃。在建立唯一索引时是否删除重复记录,指定 true 创建唯一索引。默认值为 false.
Boolean 对文档中不存在的字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为 false.
string 对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为 language.
索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。
这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。
索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构
createIndex() 方法MongoDB使用 createIndex() 方法来创建索引。
注意在 3.0.0 版本前创建索引方法为 db.collection.ensureIndex(),之后的版本使用了 db.collection.createIndex() 方法,ensureIndex() 还能用,但只是 createIndex() 的别名。
createIndex()方法基本语法格式如下所示:
db.collection.createIndex(keys, options)
语法中 Key 值为你要创建的索引字段,1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可。
db.col.createIndex({"title":1})
createIndex() 方法中你也可以设置使用多个字段创建索引(关系型数据库中称作复合索引)。
db.col.createIndex({"title":1,"description":-1})
createIndex() 接收可选参数,可选参数列表如下:
Boolean 建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引,即增加 background 可选参数。 background 默认值为false。
string 索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。
Boolean 3.0+版本已废弃。在建立唯一索引时是否删除重复记录,指定 true 创建唯一索引。默认值为 false.
Boolean 对文档中不存在的字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为 false.
string 对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为 language.
//通过在创建索引时加 background:true 的选项,让创建工作在后台执行 db.values.createIndex({open: 1, close: 1}, {background: true})
总结:
1、查看集合索引
db.col.getIndexes()
2、查看集合索引大小
db.col.totalIndexSize()
3、删除集合所有索引
db.col.dropIndexes()
4、删除集合指定索引
db.col.dropIndex("索引名称")
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/4000.html
MongoDB相关文章
- mongodb 数据库操作详解–创建,切换,删除
- 使用C语言连接MongoDB数据库(c使用mongodb)
- MongoDB管理之道:掌握最优工具管理数据库(mongodb管理工具)
- 取数据MongoDB:如何获取数据(mongodb怎么读)
- MongoDB中文档数据索引优化实践(mongodb文档索引)
- MongoDB监控:掌控数据库性能一手掌握(mongodb监控页面)
- MongoDB实现数据持久化强大功能(mongodb数据持久化)
- 的咖啡厅探索周围MongoDB激情之旅——咖啡厅(mongodb附近)
- MongoDB:优化占用内存的方法(mongodb占内存)
- MongoDB精准索引优化,轻松实现稀疏索引(mongodb稀疏索引)
- 高效扩容 数据稳固——了解MongoDB分片集(mongodb分片集)
- MongoDB并发:优化数据库性能的关键措施(mongodb并发)
- mysqlMongoDB:令MySQL不及的高效数据库(mongodb大于)
- Mongodb:令人着迷的NoSQL数据库类型(mongodb类型)
- 掌握MongoDB数据库查询时间优化技巧(mongodb查询时间)
- MongoDB:自由、开放、通用的数据库(mongodb什么意思)
- 是不是数据库?疑问解答深入探究MongoDB(mongodb是数据库吗)
- MongoDB启动命令,快速搭建数据库环境(mongodb启动命令)
- MongoDB考验:检验你的数据库技能(mongodb试题)
- MongoDB——学习风顺畅的数据库知识(mongodb书籍)
- MongoDB解决方案:打造先进的企业数据库(mongodb方案)