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 [4;35;1mTeam Load (8.0ms)[0m [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 ============================= [4;35;1mTeam Load (1508.0ms)[0m [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?
on 2009-07-28 01:34
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.