iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么在MongoDB中创建索引
  • 774
分享到

怎么在MongoDB中创建索引

2024-04-02 19:04:59 774人浏览 八月长安
摘要

这期内容当中小编将会给大家带来有关怎么在mongoDB中创建索引,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。MongoDB 创建索引的语法1.为普通字段添加索引,并且为

这期内容当中小编将会给大家带来有关怎么在mongoDB中创建索引,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

MongoDB 创建索引的语法

1.为普通字段添加索引,并且为索引命名

db.集合名.createIndex( {"字段名": 1 },{"name":'idx_字段名'})

说明: (1)索引命名规范:idx_<构成索引的字段名>。如果字段名字过长,可采用字段缩写。

(2)字段值后面的 1 代表升序;如是 -1 代表 降序。

2.为内嵌字段添加索引

db.集合名.createIndex({"字段名.内嵌字段名":1},{"name":'idx_字段名_内嵌字段名'})

3.通过后台创建索引

db.集合名.createIndex({"字段名":1},{"name":'idx_字段名',background:true})

4:组合索引

db.集合名.createIndex({"字段名1":-1,"字段名2":1},{"name":'idx_字段名1_字段名2',background:true})

5.设置TTL 索引

db.集合名.createIndex( { "字段名": 1 },{ "name":'idx_字段名',expireAfterSeconds: 定义的时间,background:true} )

说明 :expireAfterSeconds为过期时间(单位秒)

MongoDB创建索引性能提升1000倍

上面我们介绍了MonGoDB的常见索引的创建语法。部分同学还想看看MongoDB的威力到底有多大,所以,在这儿追加一个例子,感受一下索引的性能。

通过在某一字段上创建索引,从优化前的执行15.15S到优化后降至0.013S,性能提升了1000多倍。

此为实际生产中的一个真实案例,我们有一个集合QQStatements,其数据量为2604W,如下图所示。

怎么在MongoDB中创建索引

系统需要查询此表最近的变动情况,即需要抓取新增数据量和修改的数据量。

查询语句如下:

db.QQStatements.find({
 $or:
 [
  {Rec_CreateTime:{$gt: ISODate("2019-01-07 16")}}
  ,{Rec_ModifyTime:{$gt: ISODate("2019-01-07 16")}}
  ]
 
} )

但此查询语句不理想,有时耗时25S,多次执行有缓存后也要15S左右,如下图:

怎么在MongoDB中创建索引

查看此表,发现Rec_CreateTime字段建有索引,单独执行符合Rec_CreateTime 条件的语句,很快 0.1 S 内就执行完成。

怎么在MongoDB中创建索引

而Rec_ModifyTime字段没有索引,单独执行符合Rec_ModifyTime条件的语句较慢,需要15S左右。

怎么在MongoDB中创建索引

到这儿,就可以判读出问题是缺失索引,和开发同学确认后,此场景时常用,此字段需要添加索引。

执行添加索引的命令:

db.QQStatements.createIndex({"Rec_ModifyTime":1},{"name":'idx_Rec_ModifyTime',background:true})

Rec_ModifyTime字段添加索引后,整个语句执行降至0.013S(20S-->0.02S )

怎么在MongoDB中创建索引

上述就是小编为大家分享的怎么在MongoDB中创建索引了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么在MongoDB中创建索引

本文链接: https://www.lsjlt.com/news/55563.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在MongoDB中创建索引
    这期内容当中小编将会给大家带来有关怎么在MongoDB中创建索引,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。MongoDB 创建索引的语法1.为普通字段添加索引,并且为...
    99+
    2024-04-02
  • mongodb怎么创建索引失败
    当创建索引失败时,有以下几个可能的原因:1. 重复的索引名称:如果尝试创建重复名称的索引,MongoDB会报错。确保使用唯一的索引名...
    99+
    2023-08-31
    mongodb
  • mongodb数据库怎么创建索引
    小编给大家分享一下mongodb数据库怎么创建索引,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、索引命令创建索引db.stu.ensureIndex({“name”:1})创建唯一索引db.stu.ensureInde...
    99+
    2023-06-14
  • 怎么在postgresql中创建索引
    在postgresql中创建索引的方法:1.启动postgresql服务;2.登录postgresql数据库;3.使用数据库;4.在数据库新建表;5.使用CREATE INDEX命令创建索引;具体步骤如下:首先,在命令行中启动postgre...
    99+
    2024-04-02
  • 怎样在SQLServer中创建索引
    在SQL Server中,可以使用CREATE INDEX语句来创建索引。以下是创建索引的一般步骤: 确定要在哪个表上创建索引。 ...
    99+
    2024-04-09
    SQLServer
  • mongodb中索引分类是怎样的以及如何创建索引
    mongodb中索引分类是怎样的以及如何创建索引,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。学习索引分类和创建索引:   &nbs...
    99+
    2024-04-02
  • 什么是索引,在Oracle中如何创建索引
    索引是一种数据结构,它可以提高数据库检索数据的性能。索引是一个指向表中数据位置的指针,可以帮助数据库引擎更快地定位和检索数据。 在O...
    99+
    2024-04-09
    Oracle
  • MySQL中怎么创建索引
    在MySQL中,可以使用CREATE INDEX语句来创建索引。语法如下: CREATE INDEX index_name ON t...
    99+
    2024-04-09
    MySQL
  • SQLSERVER中怎么创建索引
    本篇文章为大家展示了SQLSERVER中怎么创建索引,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字...
    99+
    2024-04-02
  • PostgreSQL中怎么创建索引
    在 PostgreSQL 中,可以使用 CREATE INDEX 语句来创建索引。语法如下: CREATE INDEX index_...
    99+
    2024-04-09
    PostgreSQL
  • mongodb怎么建立hash索引
    在MongoDB中,可以通过使用`createIndex()`方法来建立一个哈希索引。首先,连接到MongoDB数据库。然后,选择要...
    99+
    2023-09-06
    mongodb
  • 如何在MySQL中创建索引
    本篇文章为大家展示了如何在MySQL中创建索引,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是索引?MySQL官方对索引的定义为:索引(Index)是帮助MyS...
    99+
    2024-04-02
  • 如何在SQLServer中创建索引
    在SQL Server中创建索引可以通过以下步骤实现: 使用 CREATE INDEX 语句来创建索引,语法如下: CREATE...
    99+
    2024-04-09
    SQLServer
  • elasticsearch怎么创建索引
    要创建一个索引,可以使用Elasticsearch提供的RESTful API或者Elasticsearch客户端库。使用RESTf...
    99+
    2023-10-08
    elasticsearch
  • Mariadb索引怎么创建
    这篇文章主要讲解了“Mariadb索引怎么创建”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mariadb索引怎么创建”吧!索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成...
    99+
    2023-06-27
  • mongodb怎么建立唯一索引
    在MongoDB中,可以使用`createIndex()`方法来建立唯一索引。以下是建立唯一索引的步骤:1. 连接到MongoDB数...
    99+
    2023-08-23
    mongodb
  • mongodb创建表和索引的方法是什么
    在 MongoDB 中,文档存储在集合(Collection)中,类似于关系数据库中的表。要创建集合和索引,可以使用以下方法:创建集...
    99+
    2023-09-11
    mongodb
  • MongoDB中索引怎么用
    小编给大家分享一下MongoDB中索引怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在任何数...
    99+
    2024-04-02
  • 怎么在mongodb中查看当前索引
    在mongodb中查看当前索引的方法:1.启动mongodb;2.登录mongodb数据库;3.使用数据库;4.执行命令查看索引;具体步骤如下:首先,在命令行中启动mongodb服务;net start MongoDBmongodb服务启动...
    99+
    2024-04-02
  • 如何为Mongodb创建唯一的pair索引?
    php小编西瓜为您介绍如何为Mongodb创建唯一的pair索引。Mongodb是一款非关系型数据库,而pair索引则是一种特殊的索引类型,用于确保集合中的文档对的唯一性。要创建唯一的...
    99+
    2024-02-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作