Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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
两个日期之间查询的ActiveRecord/SQL性能如何_Sql_Ruby On Rails 3_Performance_Activerecord - Fatal编程技术网

两个日期之间查询的ActiveRecord/SQL性能如何

两个日期之间查询的ActiveRecord/SQL性能如何,sql,ruby-on-rails-3,performance,activerecord,Sql,Ruby On Rails 3,Performance,Activerecord,我知道有两种方法可以通过AR在Rails中获取结果,下面是两个示例查询,它们返回相同的结果,但生成不同的SQL查询 (A) where(“创建时间”,第一周,第二周) (B) where(:created_at=>week1..week2) 第二个(除了外观更好之外,IMHO)还创建了一个BETWEEN类型的SQL查询,而第一个查询几乎是不言自明的 除了样式之外,哪一个性能更好?或者出于其他原因,哪一个更好?我认为B是大多数人喜欢的,因为他们编写的代码更少,根本不需要考虑SQL查询 至于表现,我

我知道有两种方法可以通过AR在Rails中获取结果,下面是两个示例查询,它们返回相同的结果,但生成不同的SQL查询

(A)
where(“创建时间<和创建时间>”,第一周,第二周)

(B)
where(:created_at=>week1..week2)

第二个(除了外观更好之外,IMHO)还创建了一个
BETWEEN
类型的SQL查询,而第一个查询几乎是不言自明的


除了样式之外,哪一个性能更好?或者出于其他原因,哪一个更好?

我认为B是大多数人喜欢的,因为他们编写的代码更少,根本不需要考虑
SQL
查询


至于表现,我认为应该是一样的。MySQL只是提供了一种更好的方法来在一个范围值中执行where子句。

我认为B是大多数人会选择的,因为他们编写的代码更少,根本不需要考虑
SQL
查询


至于表现,我认为应该是一样的。MySQL只是提供了一种更好的方法来在一个范围值中执行where子句。

这将是一种特定于数据库的方法。。因为rails会为它们生成这些查询

A) WHERE (created_at < '2012-05-29 13:14:50' and created_at > '2012-05-28 15:14:50')

B) WHERE (`questions`.`created_at` BETWEEN '2012-05-28 15:14:39' AND '2012-05-29 13:14:39')
A)其中(创建时间为<'2012-05-29 13:14:50',创建时间为<'2012-05-28 15:14:50')
B) 其中(`questions`.`created_'before'2012-05-2815:14:39'和'2012-05-2913:14:39')
:)只要您使用ActiveRecord,您就不必太担心它


看一看

它会有点特定于数据库..因为rails会为它们生成这些查询

A) WHERE (created_at < '2012-05-29 13:14:50' and created_at > '2012-05-28 15:14:50')

B) WHERE (`questions`.`created_at` BETWEEN '2012-05-28 15:14:39' AND '2012-05-29 13:14:39')
A)其中(创建时间为<'2012-05-29 13:14:50',创建时间为<'2012-05-28 15:14:50')
B) 其中(`questions`.`created_'before'2012-05-2815:14:39'和'2012-05-2913:14:39')
:)只要您使用ActiveRecord,您就不必太担心它


看一看它应该是B)在哪里(:created_at=>week2..week1)你能给出一个理由吗?这就是我要找的,原因请是B)在哪里(:created_at=>week2..week1)你能给出原因吗?这就是我要找的原因,拜托