两个日期之间查询的ActiveRecord/SQL性能如何
我知道有两种方法可以通过AR在Rails中获取结果,下面是两个示例查询,它们返回相同的结果,但生成不同的SQL查询 (A)两个日期之间查询的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查询 至于表现,我
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)你能给出原因吗?这就是我要找的原因,拜托