7

我在运行 WEBrick 时收到以下消息。

auto_explain_threshold_in_seconds 已设置但将被忽略,因为您的适配器不支持此功能。请取消设置配置以避免此警告。

我在用:

宝石'rails','3.2.13'
宝石'mysql'

WEBrick 1.3.1
ruby​​ 1.9.3 (2013-02-22) [i386-mingw32]

有人可以帮助我知道 - 为什么我会得到这个以及如何解决它?

4

2 回答 2

8

我今天在升级到 3.2 的 Rails 3 应用程序中遇到了这个错误消息。

配置/环境/development.rb

注释掉这一行,它将起作用:

config.active_record.auto_explain_threshold_in_seconds = 0.5

在那条线上它说:

  # Log the query plan for queries taking more than this (works
  # with SQLite, MySQL, and PostgreSQL)

我使用的是 MySQL,所以我真的不知道它为什么会抛出错误。希望这可以帮助!

于 2013-04-08T17:11:13.617 回答
4

如前所述,您可以注释掉配置,错误就会消失,但它试图告诉您您的查询速度很慢,您可能想知道那里发生了什么。

如果您尝试使用 mysql2 gem 而不是 mysql gem,它应该可以工作。

这似乎是#<ActiveRecord::ConnectionAdapters::MysqlAdapter 的未定义方法“解释”的副本

更新:正如@twelve17 所指出的,日志中存在此消息并不意味着您的查询速度很慢,而是您的适配器不支持当您确实有一个慢速查询时用于告诉您的机制。我应该说“你不想只是关闭这个功能,你可能想使用 mysql2 gem,这样你就可以看到什么时候出现慢查询”

于 2013-04-08T18:07:52.890 回答