方法
实例公共方法
build_explain_clause(options = []) 链接
来源: 显示 | 在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb, line 36 def build_explain_clause(options = []) return "EXPLAIN" if options.empty? explain_clause = "EXPLAIN #{options.join(" ").upcase}" if analyze_without_explain? && explain_clause.include?("ANALYZE") explain_clause.sub("EXPLAIN ", "") else explain_clause end end
explain(arel, binds = [], options = []) 链接
来源: 显示 | 在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb, line 27 def explain(arel, binds = [], options = []) sql = build_explain_clause(options) + " " + to_sql(arel, binds) start = Process.clock_gettime(Process::CLOCK_MONOTONIC) result = internal_exec_query(sql, "EXPLAIN", binds) elapsed = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start MySQL::ExplainPrettyPrinter.new.pp(result, elapsed) end
high_precision_current_timestamp() 链接
来源: 显示 | 在 GitHub 上
# File activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb, line 23 def high_precision_current_timestamp HIGH_PRECISION_CURRENT_TIMESTAMP end