资讯专栏INFORMATION COLUMN

mongodb索引

FWHeart / 1518人阅读

摘要:但是需要手动创建创建索引,索引可以重复创建,若创建已经存在的索引,则会直接返回成功。单键索引值为一个单一的值,如字符串,数字或日期。多键索引值具有多个记录,如数组。过期索引不能是复合索引。

索引的概念

索引是一种多带带的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,通过索引可以快速找到我们查询的数据。提高查询效率

mongodb索引种类

_id索引

单键索引

多键索引

复合索引

过期索引

全文索引

地理位置索引

_id索引

mongodb中绝大多数集合默认建立的索引,对于每个插入的数据,MongoDB都会自动生成一条唯一的_id

单键索引

单键索引是最普通的索引,直接将一个属性作为索引。但是需要手动创建

db.test.ensureIndex({x:1})//创建索引,索引可以重复创建,若创建已经存在的索引,则            会直接返回成功。
            db.test.find()//查看数据
多键索引

多键索引与单键索引创建形式相同,区别在于字段的值。

单键索引:值为一个单一的值,如字符串,数字或日期。

多键索引:值具有多个记录,如数组。

db.test.ensureIndex({x:[1,2,3,4,5]})

复合索引

查询多个条件时,建立复合索引
例如{x:1,y:2,z:3}这样一条数据,要按照x与y的值进行查询,就需要创建复合索引。

db.test.ensureIndex({x:1,y:1}) #1升序,-1降序
db.test.find({x:1,y:2}) #使用复合索引查询
过期索引

在一段时间后会过期的索引
在索引过期后,相应的数据会被删除
适合存储在一段时间之后会失效的数据,比如用户的登录信息、存储的日志等。

db.test.ensureIndex({time:1},{expireAfterSeconds:10}) #创建过期索引,time-字段,expireAfterSeconds在多少秒后过期,单位:秒
过期索引的限制

存储在过期索引字段的值必须是指定的时间类型,必须是ISODate或者ISODate数组,不能使用时间戳,否则不能自动删除。

例如 >db.test.insert({time:1}),这种是不能被自动删除的

如果指定了ISODate数组,则按照最小的时间进行删除。

过期索引不能是复合索引。因为不能指定两个过期时间。

删除时间是不精确的。删除过程是由MongoDB的后台进程每60s跑一次的,而且删除也需要一定时间,所以存在误差

全文索引

这个没用过,不敢乱写

地理位置索引

。。。。。 同上

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69468.html

相关文章

  • 聊聊MongoDB - MongoDB索引介绍分享

    摘要:全文索引主要用于搜索业务的索引,通过多种不同的查询方式和条件进行全文索引,适合搜索引擎和站内搜索业务。注全文索引全文索引目前不支持中文。 简述 MongoDB中的索引其实类似于关系型数据库,都是为了提高查询和排序的效率的,并且实现原理也基本一致。由于集合中的键(字段)可以是普通数据类型,也可以是子文档。MongoDB可以在各种类型的键上创建索引。 索引 MongoDB的索引就是集合Co...

    Meathill 评论0 收藏0
  • 聊聊MongoDB - MongoDB索引介绍分享

    摘要:全文索引主要用于搜索业务的索引,通过多种不同的查询方式和条件进行全文索引,适合搜索引擎和站内搜索业务。注全文索引全文索引目前不支持中文。 简述 MongoDB中的索引其实类似于关系型数据库,都是为了提高查询和排序的效率的,并且实现原理也基本一致。由于集合中的键(字段)可以是普通数据类型,也可以是子文档。MongoDB可以在各种类型的键上创建索引。 索引 MongoDB的索引就是集合Co...

    Bowman_han 评论0 收藏0
  • MongoDB指南---10、索引、复合索引 简介

    摘要:可以通过来强制使用某个特定的索引,再次执行这个查询,但是这次使用,作为索引。 上一篇文章:MongoDB指南---9、游标与数据库命令下一篇文章:MongoDB指南---11、使用复合索引、$操作符如何使用索引、索引对象和数组、索引基数 本章介绍MongoDB的索引,索引可以用来优化查询,而且在某些特定类型的查询中,索引是必不可少的。 什么是索引?为什么要用索引? 如何选择需要建立...

    enrecul101 评论0 收藏0
  • MongoDB指南---10、索引、复合索引 简介

    摘要:可以通过来强制使用某个特定的索引,再次执行这个查询,但是这次使用,作为索引。 上一篇文章:MongoDB指南---9、游标与数据库命令下一篇文章:MongoDB指南---11、使用复合索引、$操作符如何使用索引、索引对象和数组、索引基数 本章介绍MongoDB的索引,索引可以用来优化查询,而且在某些特定类型的查询中,索引是必不可少的。 什么是索引?为什么要用索引? 如何选择需要建立...

    leiyi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<