MongoDB
文章平均质量分 67
qian_348840260
这个作者很懒,什么都没留下…
展开
-
最简单方式理解为什么MongoDB索引选择B-树,而 Mysql 选择B+树
这个问题是我在看视频的时候老师提到的,虽然之前知道他们各自的索引结构但是还没有研究过原因。在网上一搜答案特别多。但是都特别的啰嗦。于是总结了这篇文章。一、B-树和B+树的区别很明显,我们要想弄清楚原因就要知道B-树和B+树的区别。为了不长篇大论。我们直接给出他们的形式总结他们的特点。1、B-树B-树是一种自平衡的搜索树,形式很简单:这就是一颗B-树。针对我们这个问题的最核心的特点如下:(1)多路,非二叉树(2)每个节点既保存索引,又保存数据(3)搜索时相当于二分查找.转载 2020-08-03 17:17:18 · 533 阅读 · 3 评论 -
mongodb索引
索引基础知识什么是索引索引最常用的比喻就是书籍的目录,查询索引就像查询一本书的目录。本质上目录是将书中一小部分内容信息(比如题目)和内容的位置信息(页码)共同构成,而由于信息量小(只有题目),所以我们可以很快找到我们想要的信息片段,再根据页码找到相应的内容。同样索引也是只保留某个域的一部分信息(建立了索引的field的信息),以及对应的文档的位置信息。假设我们有如下文档(每行的数据在Mo...转载 2020-02-25 11:23:15 · 143 阅读 · 0 评论 -
MongoDB010 索引
索引1. 简介>db.people.find({“username” : “mark”})>db.people.ensureIndex({“username” : 1} )对某个键创建的索引会加速对该键的查询。然而,对于其他查询可能没有帮助,即便是查询包含了被索引的键。例如,下面的查询就不会从先前建立索引中获得任何的性能提升>db.people.find({“date原创 2013-06-08 17:59:21 · 703 阅读 · 0 评论 -
MongoDB009 查询(二)
1. $where查询键/值对是很有表现力的查询方式,但是依然有些需求它无法表达。当其他方法都败下来的时候,就轮到”$where”子句了,用它可以执行任意JavaScript作为查询的一部分。这就使得查询能做(几乎)任何事情。最典型的应用就是比较文档中的两个键的值是否相等。例如,有个条目列表,如果其中的两个值相等则返回文档,请看如下示例:>db.foo.insert({“ap原创 2013-06-07 17:32:09 · 649 阅读 · 0 评论 -
MongoDB008 查询(一)
查询 1. find简介简单用法>db.c.find() 等价于 >db.c.find({})>db.users.find({“age” : 27})>db.users.find({“username” : “joe”,”age” 27}) 指定返回的键 //查询出所有的文档,只返回文档中key为username和email原创 2013-06-06 18:12:49 · 672 阅读 · 0 评论 -
MongoDB007 瞬间完成、请求和连接
瞬间完成MongoDB的插入、删除和更新都是瞬间完成的,这是因为它们都不需要等待数据库响应。客户端将文档发送给服务器后就立刻干别的了,客户端永远不会收到”好的,知道了”或者”有问题,能重新传送一遍吗”这类响应。这个特点的优点很明显,速度快,这些操作都会非常快地执行,它只会受客户端发送的速度和网络速度的制约。通常会工作得很好,但有时也会出岔子:服务器崩溃了,网线被老鼠咬断了,数据中心被洪水淹原创 2013-06-05 16:58:31 · 736 阅读 · 0 评论 -
MongoDB006 创建、删除和修改
创建、更新及删除文档 1. 插入并保存文档1.1 基本的插入操作db.foo.insert({“bar” :“bar”}),向当前库的foo集合中插入一个文档,这个操作会给文档增加一个”_id”键(要是原来没有的话),然后将其保存到MongoDB中。1.2 批量插入2. 删除文档>db.users.remove() 此命令会删除users集合中原创 2013-06-05 16:25:08 · 797 阅读 · 0 评论 -
【MongoDB for Java】Java操作MongoDB
转载URL: http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html转载 2013-06-13 16:00:20 · 481 阅读 · 0 评论 -
MongDB005 数据类型
数据类型1. nullnull表示空值或者不存在的字段,如{“x” : null}2. 布尔布尔类型有两个值’true’和’false’,如{“x” : true}3. 32位整数Shell中这个类型不可用。32位整数会被自动转换到64位浮点数 4. 64位整数shell也不支持这个类型.shell会使用一个特殊的内嵌文档来显原创 2013-06-03 13:25:49 · 647 阅读 · 0 评论 -
MongoDB013 进阶指南
1. db.runCommand({"listCommands":1})//查看数据库支持的命令2. 固定集合固定集合很像环形队列,如果空间不足,最早的文档就会被删除,为新的文档腾出空间。这意味着固定集合在新文档插入的时候自动淘汰最早的文档。固定集合和普通集合还有一个区别,就是在默认情况下固定集合没有索引,即便是”_id”上也没有索引。2.1 属性与特点原创 2013-06-13 15:12:36 · 616 阅读 · 0 评论 -
MongoDB011 聚合
聚合1. countcount是最简单的聚合工具,返回集合中的文档数量:>db.foo.count()也可以传递查询,Mongo则会计算查询结果的数量:>db.foo.count({“x” : 1})2. distinct distinct用来找出指定键的所有不同的值。使用时必须指定集合和键。 例如,假设文档如下:原创 2013-06-09 16:05:25 · 618 阅读 · 0 评论 -
MongoDB012 MongoDB之MapReduce
文章来源:http://blog.csdn.net/qimiguang/article/details/8267008MongoDB MapReduceMapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。这样做的好处是可以在任务被分解后,可以通过大量机器进行并行计算,减少整个操作的时间。转载 2013-06-13 13:28:52 · 572 阅读 · 0 评论 -
MongDB004 Shell基本操作入门
在Shell查看操作数据会用到4个基本操作:创建、读取、更新和删除(CRUD)1. 创建Insert函数添加一个文档到集合里面。例如,假设要存储一管博客文章。首先,创建一个局部变量post,内容是代表文档的JavaScript对象。里面面会有”title”、”content”和”data”几个键。//切换到foobar库上,如果没有,直接创建>use foobar /原创 2013-05-31 17:58:01 · 710 阅读 · 0 评论 -
MongoDB003 MongoDB安装和启动
1.下载mongobd mongodb-win32-i386-2.2.42.解压缩后,copy bin目录至mongodb安装主目录下,如D:\Program Files\mongodb\下3.分别建立db,log两个文件夹,至此mongodb下有以下文件夹D:\Program Files\mongodb\binD:\Program Files\mongodb\data\dbD原创 2013-05-31 16:58:26 · 738 阅读 · 0 评论 -
MongoDB001简介
MongoDB学习笔记参阅>MongDB丰富的数据模型一:面向文档 MongDB是面向文档的数据库,基本的思路就是把关系型数据库中的"行(row)"的概念换成更加灵活的"文档(document)"模型。面向文档的方式可以将文档或数组内嵌进来,所以用一条记录就可以表示非常复杂的层次关系。二:MongoDB没有模式,文档的键不会事先定义也不会固定不变。由于没有模式需要更原创 2013-05-31 11:18:32 · 673 阅读 · 0 评论 -
MongoDB002 文档、集合、数据库
文档是MongoDB中数据的基本单元,类似于关系数据库管理系统中的行。集合可以被看做是没有模式的表。MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限MongoDB自带简洁但功能强大的JavaScript shell,这个工具对于管理MongoDB实例和操作数据作用非常大每个文档都有一个特殊的键"_id",它在文档所处的集合中是唯一的。文档原创 2013-05-31 14:52:08 · 924 阅读 · 0 评论