Rails 2.3.2和SHOW TABLES

时间:2011-07-21 12:04:53

标签: ruby-on-rails ruby ruby-on-rails-3

我的Rails 2.3.2应用程序中的SHOW TABLES出现了烦人的问题 - 它正在减慢我的APP速度。问题是,如何摆脱SHOW TABLES的使用以及在Rails框架中使用它的位置?从APP日志中我可以看到它一直被使用。

谢谢!

配置/环境/ production.rb:

config.cache_classes = true
config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching             = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp

2 个答案:

答案 0 :(得分:0)

“SHOW TABLES”是依赖于ORM的SQL查询,它会触发每个动作,以便在开发模式下重新加载类。查询需要多长时间?

答案 1 :(得分:0)

我在Rails 3.0中看到了类似的问题,并且能够使用gist中指向的this issue修复它。看起来它已在Rails 3.2中修复。

我使用以下代码将ar_patch.rb添加到config / initializers:

unless Rails.env.development?
  require "active_record/connection_adapters/mysql2_adapter"

  module ActiveRecord
    module ConnectionAdapters
      class Mysql2Adapter < AbstractAdapter
        extend ActiveSupport::Memoizable
        memoize :tables, :pk_and_sequence_for, :columns
      end
    end
  end
end