mongodb(2) -索引创建

在shell中查看集合中已经存在的索引,你可以运行:

db.things.getIndexes()

要查看数据库中所有的索引,可以运行:

db.system.indexes.find()

创建索引
db.things.ensureIndex({j:1});

建选项

ensureIndex函数的第二个参数是携带创建选项的文档/对象。这些选项有:

选项 默认值
background true/false false
dropDups true/false false
unique true/false false
sparse true/false false
v 索引版本。0=早于v2.0版本,1=更小/更快(当前) 1 in v2.0.除非特殊情境,默认使用1

http://blog.csdn.net/xinghebuluo/article/details/7221639

http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html

时间: 2024-10-25 15:13:55

mongodb(2) -索引创建的相关文章

MongoDB中索引的创建和使用详解

索引通常能够极大的提高查询的效率.在系统中使用查询时,应该考虑建立相关的索引.在MongoDB中创建索引相对比较容易. mongodb中的索引在概念上和大多数关系型数据库如MySQL是一样的.当你在某种情况下需要在MySQL中建立索引,这样的情景同样适合于MongoDB. 基本操作 索引是一种数据结构,他搜集一个集合中文档特定字段的值.MongoDB的查询优化器能够使用这种数据结构来快速的对集合(collection)中的文档(collection)进行寻找和排序.准确来说,这些索引是通过B-T

MongoDB索引创建(5)

索引创建 1:索引提高查询速度,降低写入速度,权衡常用的查询字段,不必在太多列上建索引 2. 在mongodb中,索引可以按字段升序/降序来创建,便于排序 3. 默认是用btree来组织索引文件,2.4版本以后,也允许建立hash索引. 查看查询计划 db.find(query).explain(); "cursor" : "BasicCursor", ----说明没有索引发挥作用 "nscannedObjects" : 1000 ---理论上要

Windows使用MongoDB,以及索引创建

安装MongoDB https://www.mongodb.com/download-center#community 点击msi安装程序进行安装,可以进行自定义安装,选择安装位置,我选择的是D盘 在D盘根目录下创建data\db目录,用来存放数据:创建data\dbConf\mongodb.log文件存放MongoDB的日志 双击运行MongoDB服务器 将MongoDB服务器作为Windows服务运行 执行以下命令将MongoDB服务器作为Windows服务运行: mongod.exe --

MongoDB数据库索引

前面的话 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录.这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的.本文将详细介绍MongoDB数据库索引 引入 索引能够提高查询效率,如何体现呢?接下来使用性能分析函数explain()来进行分析说明 首先,插入10万条数据 接着,不创建索引,来寻找time范围在100和200之间的文档 由图中所知,tot

mongodb的索引问题

索引的定义和原理 数据库的索引,是一种将数据库中的特定数据进行排序化的数据结构,用以提高数据库的查询和变更效率.索引的实现通常使用B树或B+树. 比如,当前有一个表有100w条数据,表结构为如下 create table person ( name char(15) not null, age int not null, city varchar(20) not null, primary key(name) ) 主键是用户的name.假设用户居住的城市有限(比如100个),现在,如果要查询在c

Mongodb的索引

1. 简单介绍 索引是为了加速查询. 假设没有索引,mongodb在查询时会做表扫描,假设集合非常大时,这个查询会非常慢. 一般对创建查询时的键都建立索引. 为排序字段建立索引,假设对未建立索引的字段sort,mongodb会将全部的数据取到内存中来排序, 假设集合大到不能在内存中排序,则mongodb会报错. 2. mongodb创建索引 创建索引使用ensureIndex命令. > db.people.ensureIndex({"username" : 1}); 上面语句对p

【MongoDB学习笔记20】MongoDB的索引

MongoDB的索引和关系型数据库的索引概念和功能是相同的: (1)不使用索引的搜索可以称为全表扫面,也就是说,服务器必须找完整个表才能查询整个结果: (2)建立索引后搜索,查询在索引中搜索,在索引的条目中找到条目以后,就可以直接跳转到目标文档的位置:这样的搜索比全表的搜索的速度要提高好几个数量级: 先向集合blog中添加1000000个文档: > for (i=0;i<1000000;i++){    ... db.users.insert(     ... {"i":i

Mongodb Geo2d索引原理

MongoDB的geo索引是其一大特色,本文从原理层面讲述geo索引中的2d索引的实现. 2d 索引的创建与使用 通过 db.coll.createIndex({"lag":"2d"}, {"bits":int})) 来创建一个2d索引,索引的精度通过bits来指定,bits越大,索引的精度就越高.更大的bits带来的插入的overhead可以忽略不计. 通过 db.runCommand({ geoNear: tableName, maxDist

mongodb设置索引和id

ensureIndex() 方法 要创建一个索引,需要使用MongoDB 的ensureIndex()方法. 语法: ensureIndex() 方法的基本语法如下 yiibai.com >db.COLLECTION_NAME.ensureIndex({KEY:1}) 这里关键是要在其中创建索引,1是按升序排列的字段名称.要创建降序索引,需要使用-1. 例子 >db.mycol.ensureIndex({"title":1}) > 在ensureIndex()方法,可