• 第五节 索引


     

     

    作用

    增加查询速度

    查询的种类很多,与之对应的索引的种类也很多

    内容简介

    1. 索引的种类与使用 
    2. 索引的匹配规则
    3. 如何建立合适的索引
    4. 索引建立的情况评估

    索引的种类

    1. _id索引   
    2. 单键索引
    3. 多建索引
    4. 符合索引
    5. 过期索引

    _id索引

    默认建立的索引

    查询 findOne()

    find && findOne()的区别

    两者的用法是一样的,只是返回的不同

    find()返回的符合条件的所有集合

    findOne() 返回符合条件的第一个文档

    在前端中find()返回的是一个数组,取用的时候用数组的形式 // data[i].name

    findOne()返回的是一个对象 直接使用 data.name

    单键索引

    最普通的索引 不会自动创建

    创建单键所以

    增加一条数据并创建索引

    db.config_collection.insert({x:1,y:2,z:3})

    创建x索引

    db.config_collection.createIndex({x:1}) 

    查看索引  //一条自动创建 一条自己加的

    查询 (增加了索引查询 比以前查询更快)

    多键索引

    复合索引

    过期索引

    1.   过期索引:是在一段时间过后会被删除的索引
    2. 在索引过期后,响应的数据会被删除
    3. 这适合存储一些在一段时间之后会失效的数据比如用户的登录信息,存储日志 
    4. 建立方法: db.config_collection.createIndex({time:1},{expireAfterSeconds:10})  //多了个参数expireAfterSeconds (秒数)

    过期索引的限制

    1. 存储在过期索引字段的值必须是指定的时间类型(不能是时间戳 ,否则不仅可删除)
    2. 如果指定的是ISODate数组,则按照最小的时间进行删除
    3. 过期索引不能是符合索引
    4. 删除时间不是精确 (删除过程是由后台程序60s跑一次,而且删除也需要一些时间,所有存在误差)
  • 相关阅读:
    机器学习书籍推荐
    25个机器学习面试题,期待你来解答
    观点 | 如何优雅地从四个方面加深对深度学习的理解
    Azure Public IP DNS域名
    SSH不允许Root登陆的方法
    MySQL on Azure高可用性设计 DRBD
    Linux ssh 不需要输入密码的方法
    MySQL on Azure高可用性设计 DRBD
    Express Route的配置
    Azure PIP (Instance Level Public IP)
  • 原文地址:https://www.cnblogs.com/limit1/p/8116937.html
Copyright © 2020-2023  润新知