是否有像mongodb的sql profiler等效的工具?

时间:2012-05-22 17:28:05

标签: mongodb profiler

我想知道是否有像mongodb的sql profiler这样的平等工具。具体来说,我想看看正在生成monogdb查询并从我的代码中运行。

所以,当我有代码如:

    var Logs = MvcApplication.MongoLoggingDatabase.GetCollection<Log>("Log")
                .Find(queryDocument)
                .Select(x => new LogDto { ModelNumber = x.Request.ModelNumber, Make = x.Request.Make, TimeStamp = x.TimeStamp, UserId = x.UserId })
                .OrderByDescending(x => x.TimeStamp)
                .Skip(pageSize * (page - 1))
                .Take(pageSize);

我想知道正在生成和运行的实际mongodb查询是什么,以便在查询数据库时帮助优化我的代码。

1 个答案:

答案 0 :(得分:3)

MongoDB包含一个简单的分析器。看这里: http://www.mongodb.org/display/DOCS/Database+Profiler

如果将性能分析级别设置为2,则所有查询都将写入“system.profiler”集合,以便您查看。如果将分析级别设置为1,则只会写入慢速查询(默认情况下,这些查询定义为慢于100毫秒的查询,但这是一个可配置的参数)。

对于诊断慢查询,“解释”功能也非常有用。看这里 http://www.mongodb.org/display/DOCS/Explain

您知道哪些查询很慢,您可以使用explain来确定数据库使用(或不使用)的索引。