Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跟踪RubyonRails创建的SQL查询_Sql_Ruby On Rails - Fatal编程技术网

跟踪RubyonRails创建的SQL查询

跟踪RubyonRails创建的SQL查询,sql,ruby-on-rails,Sql,Ruby On Rails,在我目前正在开发的web应用程序中,有很多数据库查询正在执行。我想知道代码的哪些部分产生了这些查询,这样我也许可以重构代码来减少它们。有没有一个简单的方法可以做到这一点 通常,数据库查询如下所示: 选择count(*)作为count\u all FROM'stores'其中('stores.'distributor\u id'=1) 非常感谢你的建议 Gav我想您正在寻找。我想您正在寻找。要在Ruby on Rails控制台上显示查询的SQL,只需执行以下步骤: if ENV.include?(

在我目前正在开发的web应用程序中,有很多数据库查询正在执行。我想知道代码的哪些部分产生了这些查询,这样我也许可以重构代码来减少它们。有没有一个简单的方法可以做到这一点

通常,数据库查询如下所示:

选择count(*)作为count\u all FROM'stores'其中('stores.'distributor\u id'=1)

非常感谢你的建议


Gav

我想您正在寻找。

我想您正在寻找。

要在Ruby on Rails控制台上显示查询的SQL,只需执行以下步骤:

if ENV.include?('RAILS_ENV') && !Object.const_defined?('RAILS_DEFAULT_LOGGER')
  require 'logger'
  RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)
end


path_to_project$ sc
Loading development environment (Rails 2.3.7)
>> User.first
  User Load (0.8ms)   SELECT * FROM users LIMIT 1

要在Ruby on Rails控制台上显示查询的SQL,只需执行以下步骤:

if ENV.include?('RAILS_ENV') && !Object.const_defined?('RAILS_DEFAULT_LOGGER')
  require 'logger'
  RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)
end


path_to_project$ sc
Loading development environment (Rails 2.3.7)
>> User.first
  User Load (0.8ms)   SELECT * FROM users LIMIT 1

你的目标是哪个关系数据库管理系统?我使用MySQL作为我的数据库管理系统。我认为不需要进行优化,因为这些查询所花费的时间通常是0.2ms(我想是来自缓存?)。我想我是在要求Rails重复做一些不必要的事情。你的目标是哪种RDBMS?我使用MySQL作为我的DBMS。我认为不需要进行优化,因为这些查询所花费的时间通常是0.2ms(我想是来自缓存?)。我想我是在要求Rails重复做一些不必要的事情。