您的位置:首页 > 数据库 > 数据库管理 > 正文

MongoDB优化器profile

更多 时间:2014-9-14 类别:数据库 浏览量:575

MongoDB优化器profile

MongoDB优化器profile

一、查看当前是否开启profile功能

 

db.getProfilingLevel()

返回level等级,值为:  0,关闭profile;1,只抓取slow查询;2,抓取所有数据

 

二、启动profile

 

db.setProfilingLevel(level);

#level等级,值同上

level为1的时候,慢命令默认值为100ms,更改为db.setProfilingLevel(level,slowms)如db.setProfilingLevel(1,50)这样就更改为50毫秒

 

三、查看Profiling数据

 

可以直接在system.profile的collection上查看

db.systen.profile.find()

 

例如

> db.system.profile.find({millis:{$gt:500}})

 

返回结果各个字段的含义

 

ts:命令执行时间

info:命令的内容

query:代表查询

order.order: 代表查询的库与集合

reslen:返回的结果集大小,byte数

nscanned:扫描记录数量

nquery:后面是查询条件

nreturned:返回记录数及用时

millis:所花时间

 

如果发现时间比较长,那么就需要作优化

 

比如:

1、nscanned数很大,或者接近记录总数,那么可能没有用到索引查询。

2、reslen很大,有可能返回没必要的字段。

n3、returned很大,那么有可能查询的时候没有加限制。

 

 

标签:MongoDB profile