MongoDB(3)——Index的创建流程1
来源:互联网 发布:山东双轨直销软件 编辑:程序博客网 时间:2024/06/06 03:26
1. 创建
除了用户手动创建索引,系统会为每个Collection建立一个主键索引,下面分析的就是这个主键索引的创建过程。
原来我们说到Collection的创建是在Database的createCollection中开始。
进入_getOrCreateCollectionInstance方法,确实有Collection的创建语句。
那么Collection的构造函数又干了些什么?从下图可以看到,Collection的构造过程中,确实做了一些与索引相关的工作,但还不知道究竟做了些什么。我们继续向下走。
进入init函数,其实并不是每一句都弄清楚了,但是看到_setupInMemoryStructures这个函数就吸引了我。
进入setupInMemoryStructures函数终于发现了看到了关于获取index的函数,追踪发现getIndex函数确实就是创建Index的方法。经过这一系列步骤,索引结构就确定了。
2. 插入数据建立索引
前面我们说过Collection中是如何插入数据的,同样是在_insertDocuments方法中,我们最后有一段没有分析,如下图所示代码,首先获得record的id,然后构造成一个bsonRecord,这个BsonRecord包含两项,一个Id,一个指向Record的指针,这样就构造了Index的一项,最后将这个索引节点插入。
阅读全文
0 0
- MongoDB(3)——Index的创建流程1
- 创建Index的命令
- MongoDb Architecture(index)-------MongoDb的体系结构(索引)
- mongoDB的用户创建
- Lighttpd中发送index.html的流程
- MongoDB学习3——mongoDB的一些基本使用
- mongodb index介绍
- MongoDB---基本Index
- 创建索引的另一种方式(index)
- 3、创建HAMR程序的流程
- 1创建应用的一般流程
- 绝好的MongoDB学习资料之四. Index
- jQuery——index()的用法分析
- 字典用法的补充—index函数
- Lucene 学习笔记(3) :Hello Lucene(Lucene Index的创建和查找)
- 学习MongoDB--(3-1):创建、删除及更新文档
- 创建动态库的流程
- openstack创建instance的流程
- calico iptables详解
- 小明的调查作业
- Linux中安装numpy,scipy,matplotib,opencv等函数库
- HTTP 2.0 Client & HTTP 2.0 Server & HTTP 2.0 Proxy
- Android事件分发机制二
- MongoDB(3)——Index的创建流程1
- <1>炫彩界面库源码分析---简单的应用程序过程分析
- phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- 用js语句实现网页中的选项卡(两种方法)
- Linux驱动中断函数参数详解
- STM32F407VG discovery MB997B 的串口问题
- C++中使用宏需要注意的规范
- MongoDB优化
- Unbutu安装TP LINK TL-WN823N驱动