码迷,mamicode.com
首页 > 数据库 > 详细

mongodb索引

时间:2020-04-25 11:04:04      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:nokia   explain   指定   tree   mongod   icc   删除索引   --   修改   

  1. 查看执行计划

    db.find(query).explain()

              “cursor”:“BasicCursor”   --说明没有索引

    “nscannedObjects”:1000  --理论上要扫描的行数

    “cursor”: “BasicCursor sn_1” --用到了btree索引

  2. 查看索引

    db.stu.getIndexes()    

  3. 创建索引

    db.stu.ensureIndex({name : 1/ -1})  -- 1:正序, -1: 倒序

         db.collection.ensureIndex({field1: 1/-1, field2: 1/-1})  --创建多列索引

  4. 删除索引

         db.stu.dropIndex({name : 1})     -- 删除索引时需要将索引类型加上

    db.stu.dropIndexes();               --删除所有自定义的索引

  5. 子文档查询

    {name:‘NoKia‘,spc:{weight:100, area:‘taiwan‘}}

    db.shop.find({‘spc.area‘:‘taiwan‘}); --用.号将子文档的属性连起来

  6. 子文档创建索引

    db.shop.ensureIndx({‘spc.area‘ : 1})

  7. 索引类型

    单列索引、所列索引、子文档索引

  8. 索引性质

    普通索引、唯一索引、稀疏索引、哈希索引

  9. 创建唯一索引

    db.tea.ensureIndex({email:1},{unique:true});    -- 第二个对象{unique:true} 表示创建唯一索引

  10. 创建稀疏索引

    普通索引创建的时候,如果当前列为null则会创建索引,而稀疏索引则不会再该列上创建索引

    db.tea.ensureIndex({emial:1}, {sparse : true });  --第二个对象{sparse:true} 表示创建稀疏索引

  11. 创建hash索引

    db.tea.ensureIndex({email : ‘hashed‘});   --参数‘hashed‘指定创建hash索引

  12. 重建索引

    一张表经过多次修改后,导致表的文件产生空洞,索引也是如此,可以通过重建索引来提高索引的效率,类似mysql的optimize表

    db.collection.reIndex()

mongodb索引

标签:nokia   explain   指定   tree   mongod   icc   删除索引   --   修改   

原文地址:https://www.cnblogs.com/wxxiong/p/12771576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!