# Rails query loading bug or not?

**URL:** <https://www.ruby-forum.com/t/rails-query-loading-bug-or-not/172784>\
**Category:** Deployment\
**Created:** [July 28, 2009, 1:34am UTC](https://www.ruby-forum.com/t/rails-query-loading-bug-or-not/172784 "2009-07-28T01:34:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![elricstorm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/da6949/32.png) [@elricstorm](https://www.ruby-forum.com/u/elricstorm)\
**Post date:** [July 28, 2009, 1:34am UTC](https://www.ruby-forum.com/t/rails-query-loading-bug-or-not/172784/1 "2009-07-28T01:34:46Z")

</div>

I noticed that when I was formatting my code, because I have a very long  
query being built I made it easier for myself by separating the lines  
one by one, for viewing. But, when testing, I noticed that my query  
went from 8.0ms to 1475.0ms. I thought it was a bug so I restarted my  
rails app but it still persisted.

So, I condensed every bit of my code into only a few lines (very long  
lines) and was able to get it to go back to 8.0ms.

Here’s an example:

The 8.0

e[4;35;1mTeam Load (8.0ms)e[0m e[0mSELECT  
teams.name,teams.mascot,teams.formal\_name,teams.image,tsrs\_ratings.tsrs,tsos\_offenses.totoff  
AS offtotalrating,tsos\_defenses.totdef AS  
deftotalrating,tsos\_offenses.rushoff AS offrushrating,  
tsos\_defenses.rushdef AS defrushrating,tsos\_offenses.passoff AS  
offpassrating,tsos\_defenses.passdef AS  
defpassrating,tsos\_offenses.scoroff AS  
offscoringrating,tsos\_defenses.scordef AS defscoringrating,  
tsos\_offenses.rzonoff AS offrzonerating,tsos\_defenses.rzondef AS  
defrzonerating,total\_defenses.ydspgm AS deftotal,total\_offenses.ydspgm  
AS offtotal,rushing\_offenses.ydspg AS offrush,rushing\_defenses.ydspg AS  
defrush,  
passing\_offenses.ydspgm AS offpass,pass\_defenses.ydspgm AS  
defpass,scoring\_offenses.avg AS offscoring,scoring\_defenses.ptspgm AS  
defscoring,red\_zone\_offenses.pct AS offrzone,red\_zone\_defenses.pct AS  
defrzone FROM `teams` INNER JOIN `tsrs_ratings` ON tsrs\_ratings.team\_id  
= teams.id INNER JOIN `tsos_offenses` ON tsos\_offenses.team\_id =  
teams.id INNER JOIN `tsos_defenses` ON tsos\_defenses.team\_id = teams.id  
INNER JOIN `total_offenses` ON total\_offenses.team\_id = teams.id INNER  
JOIN `total_defenses` ON total\_defenses.team\_id = teams.id INNER JOIN  
`rushing_offenses` ON rushing\_offenses.team\_id = teams.id INNER JOIN  
`rushing_defenses` ON rushing\_defenses.team\_id = teams.id INNER JOIN  
`passing_offenses` ON passing\_offenses.team\_id = teams.id INNER JOIN  
`pass_defenses` ON pass\_defenses.team\_id = teams.id INNER JOIN  
`scoring_offenses` ON scoring\_offenses.team\_id = teams.id INNER JOIN  
`scoring_defenses` ON scoring\_defenses.team\_id = teams.id INNER JOIN  
`red_zone_offenses` ON red\_zone\_offenses.team\_id = teams.id INNER JOIN  
`red_zone_defenses` ON red\_zone\_defenses.team\_id = teams.id WHERE  
(`teams`.`id` IN (10,12) AND (`scoring_offenses`.`compiled_on` BETWEEN  
‘2009-07-27’ AND ‘2009-08-02’ AND `total_defenses`.`compiled_on` BETWEEN  
‘2009-07-27’ AND ‘2009-08-02’ AND `red_zone_offenses`.`compiled_on`  
BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND  
`rushing_defenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’  
AND `tsrs_ratings`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’  
AND `rushing_offenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND  
‘2009-08-02’ AND `pass_defenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND  
‘2009-08-02’ AND `passing_offenses`.`compiled_on` BETWEEN ‘2009-07-27’  
AND ‘2009-08-02’ AND `tsos_offenses`.`compiled_on` BETWEEN ‘2009-07-27’  
AND ‘2009-08-02’ AND `scoring_defenses`.`compiled_on` BETWEEN  
‘2009-07-27’ AND ‘2009-08-02’ AND `total_offenses`.`compiled_on` BETWEEN  
‘2009-07-27’ AND ‘2009-08-02’ AND `tsos_defenses`.`compiled_on` BETWEEN  
‘2009-07-27’ AND ‘2009-08-02’ AND `red_zone_defenses`.`compiled_on`  
BETWEEN ‘2009-07-27’ AND ‘2009-08-02’)) ORDER BY teams.id

# ============================= AND the 1508.0 ms

# e[4;35;1mTeam Load (1508.0ms)e[0m e[0mSELECT teams.name, teams.mascot, teams.formal\_name, teams.image, tsrs\_ratings.tsrs, tsos\_offenses.totoff AS offtotalrating, tsos\_defenses.totdef AS deftotalrating, tsos\_offenses.rushoff AS offrushrating, tsos\_defenses.rushdef AS defrushrating, tsos\_offenses.passoff AS offpassrating, tsos\_defenses.passdef AS defpassrating, tsos\_offenses.scoroff AS offscoringrating, tsos\_defenses.scordef AS defscoringrating, tsos\_offenses.rzonoff AS offrzonerating, tsos\_defenses.rzondef AS defrzonerating, total\_defenses.ydspgm AS deftotal, total\_offenses.ydspgm AS offtotal, rushing\_offenses.ydspg AS offrush, rushing\_defenses.ydspg AS defrush, passing\_offenses.ydspgm AS offpass, pass\_defenses.ydspgm AS defpass, scoring\_offenses.avg AS offscoring, scoring\_defenses.ptspgm AS defscoring, red\_zone\_offenses.pct AS offrzone, red\_zone\_defenses.pct AS defrzone FROM `teams` INNER JOIN `tsrs_ratings` ON tsrs\_ratings.team\_id = teams.id INNER JOIN `tsos_offenses` ON tsos\_offenses.team\_id = teams.id INNER JOIN `tsos_defenses` ON tsos\_defenses.team\_id = teams.id INNER JOIN `total_offenses` ON total\_offenses.team\_id = teams.id INNER JOIN `total_defenses` ON total\_defenses.team\_id = teams.id INNER JOIN `rushing_offenses` ON rushing\_offenses.team\_id = teams.id INNER JOIN `rushing_defenses` ON rushing\_defenses.team\_id = teams.id INNER JOIN `passing_offenses` ON passing\_offenses.team\_id = teams.id INNER JOIN `pass_defenses` ON pass\_defenses.team\_id = teams.id INNER JOIN `scoring_offenses` ON scoring\_offenses.team\_id = teams.id INNER JOIN `scoring_defenses` ON scoring\_defenses.team\_id = teams.id INNER JOIN `red_zone_offenses` ON red\_zone\_offenses.team\_id = teams.id INNER JOIN `red_zone_defenses` ON red\_zone\_defenses.team\_id = teams.id WHERE (`teams`.`id` IN (10,12) AND (`scoring_offenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `total_defenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `red_zone_offenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `rushing_defenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `tsrs_ratings`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `rushing_offenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `pass_defenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `passing_offenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `tsos_offenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `scoring_defenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `total_offenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `tsos_defenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’ AND `red_zone_defenses`.`compiled_on` BETWEEN ‘2009-07-27’ AND ‘2009-08-02’)) ORDER BY teams.id

Is this normal?
