【问题标题】:disable explain in Rails 3.2在 Rails 3.2 中禁用解释
【发布时间】:2012-04-04 08:29:03
【问题描述】:

是否可以通过配置全局禁用 Rails 3.2 中新的解释功能?我正在使用 activerecord-sqlserver-adapter 3.2.1,gem 的解释(显示计划)部分似乎存在一些错误。

【问题讨论】:

    标签: sql ruby-on-rails activerecord sql-execution-plan


    【解决方案1】:

    您可以通过在 config/environments/development.rb

    中设置 config.active_record.auto_explain_threshold_in_seconds = nil 来禁用自动解释

    【讨论】:

    • 当我回答这个问题时,没有其他答案。我们一定同时在回答/打字。
    • 看一眼答案的时间戳就是对这一点的验证。
    【解决方案2】:

    引用http://weblog.rubyonrails.org/2011/12/6/what-s-new-in-edge-rails-explain/

    获得新应用

    config.active_record.auto_explain_threshold_in_seconds = 0.5
    

    config/environments/development.rb。 Active Record 监控查询,如果查询超过该阈值,他们的查询计划将使用警告记录。

    [...]

    在测试和生产环境中默认阈值为nil,这意味着该功能被禁用。

    所以就设置

    config.active_record.auto_explain_threshold_in_seconds = nil
    

    【讨论】:

      【解决方案3】:

      您应该注意到 config.auto_explain_threshold_in_seconds 在 Rails 4.0 和 4.1 中已被完全删除。在 4.1 中它会抛出一个完整的错误。

      https://github.com/rails/rails/pull/9400/files

      如果您升级,请将该行注释掉。

      【讨论】:

        猜你喜欢
        • 2019-06-18
        • 2012-04-13
        • 1970-01-01
        • 1970-01-01
        • 2012-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多