广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >mongoDB数据库索引快速入门指南
  • 870
分享到

mongoDB数据库索引快速入门指南

2024-04-02 19:04:59 870人浏览 独家记忆
摘要

目录mongoDB 索引1. 开始与准备数据2. 创建索引前3. 创建索引 createIndex4. 创建索引后6.唯一索引与符合索引①唯一索引②复合索引MonGoDB 索引 索引

MonGoDB 索引

索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。

这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。

索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构。

mongo可以通过创建索引来提高查询的速度。

1. 开始与准备数据

启动mongo并选择目标数据库

mongo

use test

然后准备一组数据(10万条数据,较大的数据量)

for(i=0;i<100000;i++){db.test.insert({name:'test'+i,age:i})}

在这里插入图片描述

2. 创建索引前

查询一下name为"test90000"的数据。并使用explain方法来查看查询的性能。

db.test1.find({name:"test90000"}).explain('executionStats')

在这里插入图片描述

这里可以看到查询花了53毫秒

3. 创建索引 createIndex

给字段name创建索引

db.test1.createIndex({name: 1})

在这里插入图片描述

查看索引:

在这里插入图片描述

给name创建索引之前,_id字段默认为索引,创建后集合有两个索引,"_id"和"name"。

4. 创建索引后

再次查找该条数据,并查看查询的性能,发现所用时间接近0毫秒。即设定索引后查询性能大大提升了。

db.test1.find({name:"test90000"}).explain('executionStats')

在这里插入图片描述

5. 删除索引

db.test1.dropIndex({name:1})

查看之

db.test1.getIndexes()

在这里插入图片描述

如图,只剩下了"_id"一个索引。"name"索引已被删除。

6.唯一索引与符合索引

①唯一索引

db.test1.createIndex({name: 1},{"unique":true})

在这里插入图片描述

查看索引

db.test1.getIndexes()

在这里插入图片描述

可以看到,unique为true。

设定为唯一索引后,该索引的值不能重复。
(这个特点也可以用于写爬虫时不想要某字段的重复数据时,达到去重的目的。)

如图插入一条name重复的数据时,会产生如下报错:

在这里插入图片描述

即插入失败了。

②复合索引

创建多个索引的方式被称为复合索引。

首先删掉刚刚创建的索引name

db.test1.dropIndex({name:1})

然后一次创建name,age两个索引

db.test1.createIndex({'name':1,'age':1})

在这里插入图片描述

处理海量数据时,在一定的规则下使用复合索引,可以大幅提升查询的性能.

到此这篇关于mongoDB数据库索引快速入门指南的文章就介绍到这了,更多相关mongoDB索引内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: mongoDB数据库索引快速入门指南

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

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

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

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

下载Word文档
猜你喜欢
  • mongoDB数据库索引快速入门指南
    目录MongoDB 索引1. 开始与准备数据2. 创建索引前3. 创建索引 createIndex4. 创建索引后6.唯一索引与符合索引①唯一索引②复合索引MongoDB 索引 索引...
    99+
    2022-11-13
  • 快速入门MySQL数据库索引的基础知识
    本文主要给大家介绍快速入门MySQL数据库索引的基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下快速入门MySQL数据库索引的基础知识吧。--...
    99+
    2022-10-18
  • Spring Boot中快速操作Mongodb数据库指南
    前言 在Spring Boot中集成Mongodb非常简单,只需要加入Mongodb的Starter包即可,代码如下: <dependency> <group...
    99+
    2022-11-12
  • Apache 中的 PHP 数据类型教程:快速入门指南
    PHP 是一种流行的服务器端编程语言,它广泛应用于 Web 应用程序的开发和维护。在 PHP 中,数据类型是非常重要的,因为它们决定了我们如何使用和处理数据。在本文中,我们将介绍 PHP 中的各种数据类型,并提供一些示例代码帮助您更好地理...
    99+
    2023-10-06
    数据类型 教程 apache
  • PHP入门指南:MySQL数据库
    PHP是一种流行的服务器端脚本语言,广泛用于动态网站开发。MySQL是一种广泛使用的开源关系型数据库系统,通常用于存储和管理网站的数据。本文将介绍如何使用PHP连接和操作MySQL数据库。连接到MySQL数据库要连接到MySQL数据库,首先...
    99+
    2023-05-20
    PHP mysql数据库 入门指南
  • PHP入门指南:PDO数据库
    PHP是一门非常流行的服务器端编程语言,其灵活性和易用性使其成为Web开发的首选语言之一。在Web应用程序开发中,与数据库交互的过程是非常重要的,PDO(PHP Data Object)是PHP的一个扩展库,用于提供一个通用的接口来与多种关...
    99+
    2023-05-20
    数据库 PHP PDO (PHP Data Objects)
  • Java 索引函数 API:如何快速入门?
    在 Java 开发中,索引函数 API 是一个非常重要的概念。它可以帮助我们快速地查找和操作数据,是 Java 语言中一个非常强大的特性。在本文中,我们将详细介绍 Java 索引函数 API 的相关知识,以及如何快速入门。 一、什么是索引...
    99+
    2023-09-02
    索引 函数 api
  • PHP入门指南:数据库连接
    PHP是一种常用的服务器端脚本语言,广泛应用于Web开发领域。其中,与数据库的交互是PHP的一个重要应用场景,本篇文章将介绍如何在PHP中进行数据库连接。一、数据库连接的基本概念在Web应用中,一般使用关系型数据库来存储和管理各种数据。在P...
    99+
    2023-05-20
    PHP 数据库连接 入门指南
  • 快速入门 Python 数据分析实用指
    Python 现如今已成为数据分析和数据科学使用上的标准语言和标准平台之一。那么作为一个新手小白,该如何快速入门 Python 数据分析呢? 下面根据数据分析的一般工作流程,梳理了相关知识技能以及学习指南。 数据分析一般工作流程如下: ...
    99+
    2023-01-31
    入门 快速 数据
  • Java 索引函数 API:从入门到精通的完整指南
    在 Java 编程中,我们经常需要对字符串进行操作和处理。其中,一个非常重要的操作就是索引(即在字符串中查找某个特定的字符或子字符串)。Java 中提供了丰富的索引函数 API,能够帮助我们快速地完成字符串的索引操作。在本文中,我们将深入...
    99+
    2023-09-02
    索引 函数 api
  • dotConnect for Oracle入门指南(五):检索和修改数据
    【下载dotConnect for Oracle最新版本】dotConnect for Oracle(原名OraDirect.NET)建立在ADO.NET技术上,为基于Oracle数据库的应用程序提供完整的...
    99+
    2022-10-18
  • mysql数据库快速入门的示例分析
    这篇文章主要介绍mysql数据库快速入门的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何启动MySQL服务?对于如何启动MySQL服务?除了可以在安装的时候勾选随着开机自...
    99+
    2022-10-18
  • dotConnect for Oracle入门指南(三):创建数据库对象
    【下载dotConnect for Oracle最新版本】dotConnect for Oracle(原名OraDirect.NET)建立在ADO.NET技术上,为基于Oracle数据库的应用程序提供完整的...
    99+
    2022-10-18
  • Android中操作SQLite数据库快速入门教程
    SQLite是Android平台软件开发中会经常用到的数据库产品,作为一款轻型数据库,SQLite的设计目标就是是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非...
    99+
    2022-06-06
    sqlite数据库 SQLite 教程 Android
  • Mybatis入门指南之实现对数据库增删改查
    目录前言MyBatis简介优点缺点搭建第一个Mybatis程序新建项目。引入pom.xml依赖。新建数据库数据表。新建Student实体类。配置Mybatis的配置文件。创建Stud...
    99+
    2022-11-13
    mybatis 数据库增删改查 mybatis增删改查操作
  • 使用MySQL索引如何快速检索数据库的案例
    这篇文章将为大家详细讲解有关使用MySQL索引如何快速检索数据库的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、索引的概念1、索引是一个排序的列表,在这个列表中存...
    99+
    2022-10-18
  • 简单粗暴!带你零基础快速入门MySQL数据库
    最开始入门学习MySQL的时候,连数据库是什么都不知道,后来在网上各种搜MySQL数据库的学习教程,才开始慢慢了解它。 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS应用软件之一。 ...
    99+
    2018-11-05
    简单粗暴!带你零基础快速入门MySQL数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作