Module: ArJdbc::MySQL::ExplainSupport
Defined Under Namespace
Classes: ExplainPrettyPrinter
Instance Method Summary
collapse
Instance Method Details
#explain(arel, binds = []) ⇒ Object
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/arjdbc/mysql/explain_support.rb', line 8
def explain(arel, binds = [])
sql = "EXPLAIN #{to_sql(arel, binds)}"
start = Time.now.to_f
raw_result = execute(sql, "EXPLAIN", binds)
elapsed = Time.now.to_f - start
keys = raw_result[0] ? raw_result[0].keys : {}
rows = raw_result.map { |hash| hash.values }
ExplainPrettyPrinter.new.pp ActiveRecord::Result.new(keys, rows), elapsed
end
|
#supports_explain? ⇒ Boolean
4
5
6
|
# File 'lib/arjdbc/mysql/explain_support.rb', line 4
def supports_explain?
true
end
|