【问题标题】:Is there an equivalent tool like sql profiler for mongodb?是否有类似 sql profiler for mongodb 的等效工具?
【发布时间】:2012-05-22 17:28:04
【问题描述】:

我想知道是否有类似 sql profiler for mongodb 的等效工具。具体来说,我想看看正在生成哪些 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 查询,以便在查询数据库时帮助优化我的代码。

【问题讨论】:

    标签: mongodb profiler


    【解决方案1】:

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

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

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

    如果您知道哪些查询很慢,您可以使用 explain 来确定数据库正在使用(或未使用)哪个索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 2010-09-14
      • 2010-09-06
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多