获得Ruby中ActivereCord连接的查询数量/计数的简便方法是什么?
订阅该线程中所述,实现似乎有点复杂,因为我只希望在连接的整个生命周期内发出的真实总查询数量。
,所以我自己做了一个monkeypatch初始化器:)
### Query Counter for mysql2 adapter
module ActiveRecord
module ConnectionAdapters
class AbstractAdapter
@@querycount = 0
attr_reader :querycount
def self.querycount; @@querycount; end
end
class Mysql2Adapter < AbstractMysqlAdapter
def exec_query(sql, name = 'SQL', binds = [])
@@querycount += 1
@querycount = 0 if @querycount.nil?
@querycount += 1
result = execute(sql, name)
ActiveRecord::Result.new(result.fields, result.to_a)
end
end
end
end
然后,您可以获取所有连接的总质量
ActiveRecord::ConnectionAdapters::AbstractAdapter.querycount