位置: 编程技术 - 正文

MongoDB的索引(mongodb建立索引的命令)

编辑:rootadmin

推荐整理分享MongoDB的索引(mongodb建立索引的命令),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongodb sort 索引,mongodb索引的功能,mongodb sort 索引,mongodb的索引六种类型,mongodb索引的数据结构,mongodb的索引六种类型,mongodb索引的功能,mongodb索引的功能,内容如对您有帮助,希望把文章链接给更多的朋友!

1、简介

它就像是一本书的目录,如果没有它,我们就需要对整个书籍进行查找来获取需要的结果,即所说的全盘扫描;

而有了目录(索引)之后就可以通过它帮我们定位到目标所在的位置,快速的获取我们想要的结果。

2、演示

第一步,向用户集合users中插入W条数据

LZ的渣渣I3和4G内存总共耗时了.秒,约8分多钟。任务管理器里边可以很清楚的看到当时CPU、内存和磁盘使用率都普遍的增高。

第二步:查询用户名为“wjg”的文档对象

说明:这里的explain方法相当于查询计划,它会返回给你查询过程的详细信息。它的参数有三种模式:“queryPlanner”(查询计划[默认])、“executionStats”(执行状态)和“allPlansExecution”(所有执行计划),这里我们只关注它返回给我们的以下几个信息。

第三步:在用户名“username”字段上加上索引

重新执行上次的查询操作

可以看到两次的查询计划有很大的差别,我们还是着重看下那两个属性值。

加过索引之后查询这个文档所耗费的时间仅仅为毫秒,并且扫描一次直接定位,性能提升了倍。可见合理使用索引的重要性!

注:“_id”字段是Mongo为我们默认添加的索引,而且是唯一索引,保证了数据的唯一性,不可以移除。另外,使用limit(1)限制查询结果的数量也可以提高查询速度

3、索引的类型

a)、单一索引:可以在数据集上任意一个字段上建立索引,包括普通的属性键、内嵌文档以及内嵌文档中的属性键。

索引方向:1表示升序,-1表示降序

b)、复合索引:以多个属性键为基础而建立得索引

索引前缀:通过建立上边的复合索引之后,Mongo就相当于同时拥有了三个索引一样,分别是{"username" : 1},{"username" : 1, "age" : -1}和{"username" : 1, "age" : -1, "userid" : 1},但是像{"age" : -1},{"userid" : 1}或者{"age" : -1, "userid" : 1}这三个索引并不会起作用。所以它会使用包含了前缀(首个)的索引的作为复合索引

MongoDB的索引(mongodb建立索引的命令)

c)、多键索引:为数组中的多个值建立索引以实现高效查询。

注:Ⅰ、不允许在多个数组上建立复合索引

  Ⅱ、不能指定片键作为多键索引

  Ⅲ、哈希索引不能是多键

  Ⅳ、多键索引不支持覆盖查询

d)、地理空间索引和查询:Mongo提供了两种曲面类型的索引:2dsphere索引和2d索引。查询类型包括:包含(inclusion),交叉(intersection)和接近(proximity)

e)、文本索引:用来支持查询包含了字符串或者字符串数组的文档

注:文本索引不支持排序并且一个复合文本索引不能再包含其他任何索引了

f)、哈希索引:它可以在使用了哈希片键进行分片的数据集上进行索引,支持相等查询,但是不支持范围查询

4、索引特性

a)、TTL(Time-To-Live)索引:是一种具有生命周期的索引,它允许为每一个文档设置一个超时时间

说明:在“createdate”字段上建立一个TTL索引,当这个自段存在并且是日期类型,当服务器时间比“createdate”字段的时间晚**秒,即小时时,文档就会被删除

b)、唯一索引:确保集合的每一个文档的指定键都有唯一值

c)、稀疏索引:Mongo里边的null会被看做值,如果有一个可能存在也可能不存在的字段,我们可以使用稀疏索引

4、索引操作

a)、查看所有索引

b)、移除索引

c)、移除所有索引

d)、重建索引

说明:该操作会先删除所有索引,包括“_id”,然后重新创建所有索引

MongoDB数据查询方法干货篇 本文主要给大家介绍了MongoDB数据查询的相关内容,对大家具有一定的参考价值,需要的朋友们一起来学习学习吧。导入测试数据在开始之前我们应该先

MongoDB数据更新方法干货篇 前言数据更新是我们日常操作数据库必不可少的一部分,下面这篇文章就给大家分享了操作MongoDB数据更新的一些干货,对大家具有一定的参考学习价值

MongoDB学习之Text Search文本搜索功能 前言MongoDB支持对文本内容执行文本搜索操作,其提供了索引textindex和查询操作$text来完成文本搜索功能。下面我们通过一个简单的例子来体验一下MongoDB

标签: mongodb建立索引的命令

本文链接地址:https://www.jiuchutong.com/biancheng/312634.html 转载请保留说明!

上一篇:MongoDB的查询方法(mongodb如何查询数据)

下一篇:MongoDB数据查询方法干货篇(mongodb查询表数据)

  • 小规模纳税人开专票税率是1%还是3%
  • 一般纳税人开普票和专票有什么区别
  • 零售业进销差价会计分录实例
  • 电商存货周转率的正常范围
  • 外来建安企业的税收管理
  • 设备配件定义
  • 高新技术企业季报填报
  • 现金预算包括哪些内容,来源是什么
  • 其他货币资金贷方是增加还是减少
  • 企业代扣代缴的个人所得税应通过税金及附加科目核算
  • 税法规定固定资产折旧残值率
  • 公司产品中请别人开发的软件怎么会计处理?
  • 三证合一号码是纳税人识别号吗
  • 不得抵扣且未抵扣什么意思
  • 混合销售举例说明
  • 员工生育期间社保
  • 福利费用属于什么费用
  • 生产工具计入什么费用
  • 企业会计制度怎么备案
  • 多计提教育费附加怎么调整
  • 集团内部企业之间借款利息增值税
  • 农业机耕服务是什么税收分类编码
  • 建设银行对公转账限额
  • 公司年度财务报告怎么写
  • 办理出口退税的流程
  • Win10任务栏图标居中
  • 升级win10到专业版
  • 股权变更需要缴纳印花税吗,缴纳多少
  • 收到别人押金的会计分录
  • macOSCatalina10.15.5正式版值得升级吗 macOSCatalina10.15.5更新了什么
  • PHP:oci_set_prefetch()的用法_Oracle函数
  • 合同结算账务处理分录
  • 会计中记账凭证的名词解释
  • 微软预购
  • Win10 KB5005033 给某些用户带来了新问题的解决方法
  • 民间非营利组织会计账务处理
  • 长期债券投资减少是计入贷方吗?
  • 离职补偿金的会计实务处理
  • php获取url内容
  • 定期定额个体户超定额怎样申报
  • 已提足折旧固定资产改建支出 所得税怎么计算
  • js异步解决方案
  • 应收账款提了坏账后收回
  • golang 调用动态库
  • 劳务费过账
  • 缴纳印花税的会计凭证怎么做
  • 跨年租金如何确权
  • mysql将两个查询结果合并到一起
  • 待抵扣进项税如何在营运资金
  • 缔约过失是什么行为
  • 广告费计入什么会计分录
  • 半成品怎么核算成本做账
  • 物业公司管理费用都有哪些科目
  • 京东提现一般多久到账
  • 补开以前的发票可以抵企业所得税吗?
  • 预缴的税款抵扣有时间限制吗
  • 简述什么是实收资本
  • mysql replace正则表达式
  • win8.1纯净版下载
  • fedora最新版本
  • RHCE心得3 基于VSFTP的本地YUM源及光盘YUM源搭建步骤分享
  • win10改服务器
  • linux删除后恢复
  • windows8.1如何安装
  • centos打包文件
  • 关于月亮的诗句
  • opengl纹理贴图正方体六个面
  • winbox app
  • js动态表格可修改表格数据
  • python编程模拟
  • python中读取excel
  • 巨幕prime
  • js 字符编码
  • angularjs4
  • javascript面向对象精要
  • jquery动态添加和删除div
  • jQuery基本选择器总结
  • 国税局宁夏税务
  • 代扣国地税什么意思
  • 成品油消费税税目税率表2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设