[Rumble-jp-dev] GetSeasonResultのオプティマイズ

Back to archive index

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>

  &uarr;&nbsp;+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&amp;r
    obotId=280">グラフ</a>
  </td>
</tr>

てな感じになってますが、CSSの書き方で
  nowrap class="number"は省略できるので、
ロボット1台につき220バイト節約できます。
すると、約100KB減ります。
あとは、余計なタブを減らすとか、</td>を省略するとかかな。

-- 
Naoki Kurosawa <naoki_kuros****@ybb*****>





Rumble-jp-dev メーリングリストの案内
Back to archive index