zoukankan      html  css  js  c++  java
  • 第五节 索引

     

     

    作用

    增加查询速度

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

    内容简介

    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跑一次,而且删除也需要一些时间,所有存在误差)
  • 相关阅读:
    触发器
    数据库一键退出脚本
    集合
    Android 自定义控件之继承ViewGroup创建新容器
    web学习测试环境
    ref:ubuntu下如何批量修改文件后缀名
    ref:Adding AFL Bloom Filter to Domato for Fun
    ref:phpstorm配置远程调试(xdebug)(docker中)
    ref:PHP反序列化漏洞成因及漏洞挖掘技巧与案例
    ref:【干货分享】PHP漏洞挖掘——进阶篇
  • 原文地址:https://www.cnblogs.com/limit1/p/8116937.html
Copyright © 2011-2022 走看看