美文网首页
03_mongoDB索引

03_mongoDB索引

作者: 对方不想理你并向你抛出一个异常 | 来源:发表于2017-08-30 15:53 被阅读0次

索引

索引就是用来加速查询的。数据库索引与书籍的索引类似:有了索引就不需要翻遍整本书,数据库则可以直接在索引中查找,使得查找速度能提高几个数量级。在索引中找到条目以后,就可以直接跳转到目标文档的位置。

  • 创建普通索引,使用命令 db.collection.ensureIndex({key:1})
  • 查看关于索引的相关信息,使用命令 db.collection.stats()
  • 查看查询使用索引的情况,使用命令 db.collection.find({key:value}).explain()
  • 删除索引,使用命令 db.collection.dropIndex({key:1})
  • 删除集合,也会将集合中的索引全部删除
  • 创建唯一索引,使用命令 db.collection.ensureIndex({key:1},{unique:true})
  • 查看关于索引的相关信息,使用命令 db.collection.stats()
  • 查看查询使用索引的情况,使用命令 db.collection.find({key:value}).explain()
  • 删除索引,使用命令 db.collection.dropIndex({key:1})
  • 删除集合,也会将集合中的索引全部删除

创建简单索引

    数据准备index.js
for(var i = 0 ; i<200000 ;i++){
    db.books.insert({number:i,name:i+"book"})
}
  • 先检验一下查询性能
var start = new Date()
db.books.find({number:65871})
var end = new Date()
end - start
  • 为number 创建索引
    db.books.ensureIndex({number:1})
  • 再执行第一部的代码可以看出有数量级的性能提升

索引使用需要注意的地方

  1. 创建索引的时候注意1是正序创建索引-1是倒序创建索引
  2. 索引的创建在提高查询性能的同事会影响插入的性能
    对于经常查询少插入的文档可以考虑用索引
  3. 符合索引要注意索引的先后顺序
  4. 每个键全建立索引不一定就能提高性能呢
    索引不是万能的
  5. 在做排序工作的时候如果是超大数据量也可以考虑加上索引
    用来提高排序的性能

相关文章

  • 03_mongoDB索引

    索引 索引就是用来加速查询的。数据库索引与书籍的索引类似:有了索引就不需要翻遍整本书,数据库则可以直接在索引中查找...

  • MySQL索引

    MySQL索引 索引介绍 索引原理与分析 组合索引 索引失效分析 索引介绍 什么是索引索引:包括聚集索引、覆盖索引...

  • Mysql优化

    一.索引科普 主键索引 唯一索引 普通索引 单列索引 多列索引 聚簇索引 非聚簇索引 前缀索引 全文索引 二.优化...

  • Oracle 索引学习

    创建索引 标准语法 唯一索引 组合索引 反向键索引 示例 删除索引 修改索引 重建索引 联机重建索引 合并索引

  • MySQL索引

    索引的作用 查看索引 创建索引 删除索引 索引类型 强制索引和禁止某个索引

  • Pandas数据操作

    Pandas数据操作 Series索引 行索引 切片索引 不连续索引 布尔索引 DataFrame索引 列索引 不...

  • 深入理解四种数据库索引类型(- 唯一索引/非唯一索引 - 主键索

    唯一索引/非唯一索引 主键索引(主索引) 聚集索引/非聚集索引 组合索引 唯一索引/非唯一索引 唯一索引 1.唯一...

  • MYSQL索引

    mysql的4种常用索引类型:唯一索引,主键索引,全文索引,以及普通索引。 普通索引(INDEX):普通索引为索引...

  • 索引类型

    索引类型有: 主键索引; 唯一索引; 普通索引; 全文索引; 多列索引;

  • mysql 查询效率优化之 常用索引的几种类型 新手使用教程,少

    Mysql常见索引有:主键索引、唯一索引、普通索引、全文索引、组合索引(联合索引,多列索引) 一、建立的方法介绍 ...

网友评论

      本文标题:03_mongoDB索引

      本文链接:https://www.haomeiwen.com/subject/kxyidxtx.html