Module: ActiveRecord::Explain

Defined in:
lib/sql_optimizer/analyze.rb

Instance Method Summary collapse

Instance Method Details

#exec_analyze(queries) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/sql_optimizer/analyze.rb', line 35

def exec_analyze(queries)
  str = queries.map do |sql, binds|
    msg = "EXPLAIN ANALYZE for: #{sql}".dup
    unless binds.empty?
      msg << ' '
      msg << binds.map { |attr| render_bind(attr) }.inspect
    end
    msg << "\n"
    msg << connection.analyze(sql, binds)
    msg
  end.join("\n")

  def str.inspect
    self
  end

  str
end