对MongoDB入门教程指数运行分析

这几天项目逆转了,时间比较紧,博客也没能跟进,也希望大家明白。

好的,今天我们分享指数mondb基本操作。我们的日常开发不能回避程序的性能优化,但是程序的操作只不过是豆腐。

它也将花费50%的时间在R上,因为读操作对用户非常敏感,而且坏的处理将被吐出来,嗯。

从算法上讲,有5种经典查找方法。具体来说,我们可以看到我的算法加快了系列,其中包括我们的索引搜索的今天,如果你知道更多关于SQLServer。

索引查找能给我们带来什么样的性能改进。

我们先插入10W的数据,和上面的图片说:



1:性能分析功能(解释)

好,数据已成功插入。现在我们必须分析,我们必须有分析工具。幸运的是,mondb给我们提供了一个关键词叫解释,那么我们如何使用它呢

也看看图片,注意这里的名字字段不建立任何指标,在这里我的name10000名称查询。



看看红色区域,我们关心的有几个关键点。

光标:这里是BasicCursor。这是什么意思这意味着查找是基于表扫描的,即顺序搜索。真是太悲哀了。

nscanned:这里是10W,即数据库浏览10w文件,很可怕的,所以玩不能承受的话。

n:这是1,这是1份文件的最后申报单。

Millis:这是我们关心的最重要的事情。总共需要114毫秒。

二:建立一个索引(ensureindex)

查文件,这样一个简单的设置10W有点114毫秒,是无法接受的,好的,那么我们该如何优化呢在mondb

我们带来了索引搜索,看看你能不能让我们的查询飙升…



这里我们使用ensureindex在名称建立索引。1:代表一个顺序按姓名,1:降序按姓名。

我的天啊,再看这些敏感的信息。

光标:这里是btreecursor

nscanned:我擦,数据库只浏览一个文件就OK了。

n:直接定位回来。

Millis:看看这个时间真的不敢相信,二杀。

通过这个例子,我们相信你对指数有感觉。

三:唯一索引

独特的索引可以创建像SQLServer,和重复的钥匙无法插入,和使用的mondb是:

db.person.ensureindex({名字:1 },{独特:真})。



四:综合指数

有时,我们的查询不是单条件的。它可能是多个条件,如发现出生在1989-3-2名称的同学,杰克。然后,我们可以设置名称和生日组合,以加快查询。



正如你在上面看到的,我们都知道名字不同于生日,索引也不同。不同的升序和降序会导致不同的索引。

然后我们可以使用getindexes看看指数是人集的生成。



在这一点上,我们必须好奇查询优化器是否会使用哪个查询作为操作,哈哈,或者看看效果图:



在完成上述图片之后,我们相信查询优化器将是我们的最佳选择,因为当我们进行查询时,查询优化器将使用我们的索引创建查询计划。

如果执行完成,则关闭其他查询计划。该方案将被mondb。如果您想使用自己的查询计划,这也是正确的。

是的,我们已经为我们提供了在mondb暗示的方法使我们能够执行它猛烈地。



五:删除索引

也许随着业务需求的变化,以前建立的指数可能不存在。也许有人要说,这是不必要的说,但要记住,指数将减少反刍三。

种子操作的性能,因为这件事需要实时维护,所以所有的问题都必须综合考虑。在这里,我们只是空的指标我们刚刚建成的展示dropindexes使用。