Naoki Kurosawa
naoki_kuros****@ybb*****
2003年 6月 10日 (火) 23:28:40 JST
黒澤です。 1個1個、高速化を検討して行く必要があると思うので、 手始めにGetSeasonResult.doを見ました。 こいつが遅いのは、HTMLサイズのせい+無駄なクエリのせいです。 String sql = "select * from season_robots " + "inner join robot_versions using (robot_version_id) " + "inner join robots using (robot_id) " + "where season_robots.league_id = ? and season_robots.season = ? " + "order by rank"; とやって、season_robotsとrobot_versionsとrobotsをjoinしていますが、 システム変更の過程でここで必要な情報はすべてseason_robotsに含まれて います。 したがって、 String sql = "select * from season_robots " + "where league_id = ? and season = ? " + "order by rank"; と変更してクエリをシンプルにできます。 また、HTMLサイズが380KBもあるので、HTMLの書き方で高速化できるでしょう。 <tr> <td nowrap class="number">1</td> <td nowrap> ↑ +1 </td> <td nowrap> <a href="/rumblejp/actions/GetRobotDetail.do?ro botId=280">ap.MS06</a> </td> <td nowrap>S</td> <td nowrap class="number">5457</td> <td nowrap class="number">1300</td> <td nowrap class="number">260</td> <td nowrap class="number">3000</td> <td nowrap class="number">431</td> <td nowrap class="number">380</td> <td nowrap class="number">80</td> <td nowrap class="number">28</td> <td nowrap class="number">13</td> <td nowrap class="number">0</td> <td nowrap> <a href="/rumblejp/actions/LeagueRobot.do?leagueId=1&r obotId=280">グラフ</a> </td> </tr> てな感じになってますが、CSSの書き方で nowrap class="number"は省略できるので、 ロボット1台につき220バイト節約できます。 すると、約100KB減ります。 あとは、余計なタブを減らすとか、</td>を省略するとかかな。 -- Naoki Kurosawa <naoki_kuros****@ybb*****>